DI称之为依赖注入,也叫控制反转(Ioc)。
依赖注入的意义是:让组件依赖于抽象,当组件要与其它实际对象发生依赖关系时,通过抽象来注入依赖的实际对象。这话听起来有点抽象,我们就通过实际列子来看看什么是依赖注入吧。
依赖注入主要有以下几种方式:属性注入,集合注入,set注入,方法注入,构造注入。
先来讲下集合注入:
java中的集合主要有:List,Set,Map,此外还有个Properties
现在我们通过一个xml文件来实现对这些集合的注入。
实现步骤:
新建一个web工程(我IDEMyEclipse6.5),新建两个包com.sw.action,com.sw.test
1. 在com.sw.action包中新建一个java文件:DI,内容如下:
其实集合注入也属于set注入,因为这些属性都需要一个set方法才能注入成功,Spring框架运用大量的反射机制
2. 在项目的src目录下新建config-di.xml文件,内容如下:
每一个集合类都有它固定的注入格式。每个property的name属性必须要跟DI类中申明的属性名要一致。
3. 在com.sw.test包中新建一个java文件:TestDI,内容如下:
运行该文件,结果如图所示,发现之前在xml文件里面设置的都打印出来了。
见1.jpg
以上注入的内容仅仅是一些字符串,如果想把一些实体类(如Date类)注入到集合中,就该对xml文件进行配置,方法如下:
修改config-di.xml,修改后的内容如下:
然后运行TestDI,运行结果如下:
见图2.jpg
可以看到,在每个集合的后面都有跟着一个时间字符串,这个就是我们刚刚加入的Date类