spring的属性注入
- spring框架目前支持两种注入方式
- set方式注入(常用)
- 有参构造函数注入
set方式注入(常用)
这个比较简单,两幅图带过,原理是通过对应属性的 set 方法来注入
spring配置文件的写法:
后面那些初始化方法,销毁方法以及作用域忽视掉这里没啥用
People类:
自己测试的话就要实例化一个容器
1 | ApplicationContext ct = new ClassPathXmlApplicationContext("classpath:bean.xml"); |
有参构造函数方式注入
这个没有上一个常用但是我们见到了以后也要知道
spring配置文件写法:
PropertyDemo1类:
这里用的标签是 consructor-arg,通过测试一样可以注入
注入对象类型参数
上面两种都是String类型的属性注入,比如说我想在 UserService 中调用 UserDao 的 add 方法,我要把他注入进来这该怎么做?
其实同理把实例化的过程交给 spring,让他来帮助我们实例化,我们只管调用就行
spring配置文件写法:
UserService类:
UserDao类:
对象类型的注入,也就是在类里定义一个要调用的类的属性,并给出set方法,然后spring通过set方法注入
P名称空间注入
这个方法不怎么用过,简单记录一下,首先我们在配置文件上面 beans 标签的命名空间那里加一行,如下图:
Person类:
通过这种方式也能达到属性的注入
各种复杂类型的属性注入
感觉比较有用记录一下,也是通过set方式注入
Person类
数组
list集合
map集合
properties类型
简单测试一下:
完美!