当前位置: 首页 > wzjs >正文

接口网站开发宁波建设网站多少钱

接口网站开发,宁波建设网站多少钱,南京网站创建,站长工具官网继续学习ioc控制反转&#xff0c; IOC&#xff08;Inversion of Control&#xff09;控制反转&#xff0c;也叫依赖注入&#xff0c; 目的是解决程序的耦合问题&#xff0c;轻量级spring的核心。 1.定义bean.xml <?xml version"1.0" encoding"UTF-8"…

继续学习ioc控制反转,

IOC(Inversion of Control)控制反转,也叫依赖注入,

    目的是解决程序的耦合问题,轻量级spring的核心。

1.定义bean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--定义2个bean:zhangsan和lisi--><bean id="zhangsan" class="com.java1234.service.ZhangSan"></bean><bean id="lisi" class="com.java1234.service.Lisi"></bean>

  <!--定义实现业务逻辑的bean类JavaWork--><bean id="javaWork" class="com.java1234.service.JavaWork">
     <!-- tester是javaWork的一个属性。(对应JavaWork类的这一行代码: private Tester tester;)--> <property name="tester" ref="lisi"></property><!-- 上面这一行作用是给tester 注入了1个值[lisi],也是依赖注入的说法来源-->
       <!--上面这句话就是调用class对应的类(com.java1234.service.JavaWork)中的setTester方法,相当于执行【this.tester = lisi;】,使得tester这个属性绑定了具体对象lisi--><!-- 如果不想用lisi ,ref后面的值可以改成zhangsan,代码如下:<property name="tester" ref="zhangsan"></property>-->
</bean><!--补充说明:在spring出现之前,这一段tester和ref绑定的过程要在java代码实现,/*ZhangSan zhangsan=new ZhangSan();zhangsan.test();*/或者 /*Lisi lisi=new Lisi();lisi.test();*/上面的代码侵入了java程序,不利于扩展性,每次逻辑变动需要改java代码,使用spring后只要改这里bean.xml的ref配置-->
</beans>

2.接口类Tester

package com.java1234.service;public interface Tester {public void test();
}

3. 接口实现类2个:ZhangSan 和Lisi

接口实现类1:ZhangSan

package com.java1234.service;public class ZhangSan implements Tester{public void test(){// 张三是测试员System.out.println("张三-测试程序");}
}

接口实现类2:Lisi  

package com.java1234.service;public class Lisi implements Tester{public void test(){System.out.println("李四-测试程序");}
}

4.实现业务逻辑的类JavaWork 

package com.java1234.service;public class JavaWork {private Tester tester;public void setTester(Tester tester) {this.tester = tester;}public void doTest(){/* 方案1:不用spring的代码(不依赖bean.xml),缺点:有侵入业务逻辑,实现代码见下方  *//*ZhangSan zhangsan=new ZhangSan();zhangsan.test();*//*Lisi lisi=new Lisi(); Lisi.test();*//* 方案2:使用spring,需修改bean.xml内容,优点是无侵入逻辑,不管是张三还是李四,不改动这里代码 */tester.test();}
}

5. 执行main主类,可以调用实体类对象javaWork(类型是JavaWork)的doTest方法

package com.java1234.test;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.java1234.service.JavaWork;public class Test {public static void main(String[] args) {
//方案1:不使用spring的java原生态写法如下(不依赖bean.xml):JavaWork javaWork = new JavaWork();javaWork.setTester(new ZhangSan());// 或者 javaWork.setTester(new Lisi());javaWork.doTest();//方案2:使用spring的java原生态写法如下(需要配置bean.xml):ApplicationContext ac=new ClassPathXmlApplicationContext("beans.xml");JavaWork javaWork=(JavaWork)ac.getBean("javaWork");javaWork.doTest();}
}

执行结果:

如果bean.xml配置的是 <property name="tester" ref="zhangsan"></property>

   效果就是打印出:张三-测试程序

如果bean.xml配置的是 <property name="tester" ref="lisi"></property>

   效果就是打印出:李四-测试程序

http://www.dtcms.com/wzjs/802726.html

相关文章:

  • 营销推广网站建设网站建设论坛首页
  • 做行业导航网站房地产开发公司账务处理流程
  • 怎样做一个企业网站网站做数据分析
  • wordpress linux下载文件做移动网站优化软件
  • 大城 网站建设福州市工程建设质量管理协会网站
  • 中山服装网站建设wordpress文章接口
  • 网站无备案无法登入杭州企业做网站
  • 红和蓝的企业网站设计个人怎么做淘宝客网站
  • 小公司如何做网站隔离西安php网站开发培训班
  • 如何给网站挂黑链百度广告代运营
  • 织梦做的网站怎样韩国优秀平面设计网站有哪些
  • 免费文案素材网站阿里云域名查询官网
  • 湖南营销型网站建设磐石网络铁西网络建设
  • 网站 只收录首页做产品的往这看 国外工业设计网站大全
  • asp网站安装教程昆明微信网站建设
  • 跨境电子商务网站建设淘宝wordpress cms主题
  • 做网站用新域名还是老域名做守望同人的网站
  • 网站栏目页模板梅州建站找哪家
  • 网站建设实训室网站模版idc
  • 贵阳网站开发谁家做的好门户网站建设实施方案
  • 深圳微信网站设计北京棋森建设有限公司网站
  • 唐山网站制作软件四川建设厅证网站是
  • 裕华建设集团网站网站建设 英文版
  • 银行收取网站建设费的会计科目wordpress接收邮件
  • 易班网站建设的意义七牛镜像存储wordpress
  • 企业网站开发技术有哪些wordpress 主机
  • 泰州网站整站优化重庆网站空间费用
  • 山东专业网站seo常德小学报名网站
  • 沈阳制作网站软文广告经典案例300字
  • 手机企业网站开发怎么登陆网站后台管理系统