Spring中实现IoC模式的方法
的有关信息介绍如下:控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法,也有人认为DI只是IoC的另一种说法。没有IoC的程序中我们使用面向对象编程对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。
所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象的关系。这个描述的具体表现就是我们可配置的文件。
spring IOC有两种大的实现方式,分别是xml配置文件实现和类上添加注解实现
第一种:使用XML配置的方式实现IOC
1、使用无参构造方法创建对象(介绍)
2、使用有参构造方法创建对象(介绍)
3、通过属性赋值
4、对象引用
5、对象作用域
6、延迟初始化bean
第二种使用Spring注解配置IOC
1、修改BookDAO
2、修改BookService
3、修改IOC配置文件IOCBeans02.xml
编写需要的java代码
容器的配置文件IOCBeans01.xml如下:
测试类如下图:
1、使用无参构造方法创建对象
如下所示,则上下文会使用无参构造方法创建对象
2、使用有参构造方法创建对象,具体java代码如下
注意:如果在使用构造方法时不想通过参数名称指定参数则可以直接使用索引,如:
第二种:使用Spring注解配置IOC
修改IOC配置文件
expression表示过滤的表达式。
测试类如下所示