spring的beans注入
目录
二、bean的DI:(下方还有property进行复制则将之前的构造方法赋值覆盖掉)
一、bean的定义
被称作 bean 的对象是构成应用程序的支柱也是由 Spring IoC 容器管理的。bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象
1、bean的写法
<bean id="account1" class="com.pojo.Account" scope="prototype">
<property name="aid" value="1"/>
</bean>
2、scop:作用域,默认bean结点是按照singleton方式创建
singleton:单利模式,节省对象空间,所有用的都是一个对象
prototype:原型模式,用的是不同的pojo
session:一次会话
request:一次请求
3、bean下的属性
二、bean的DI:(下方还有property进行复制则将之前的构造方法赋值覆盖掉)
解释:控制反转,一个典型的实例DI(依赖注入)
创建对象,给对象里的属性赋值都交由spring去创建和赋值
1、set方式赋值
<property name="aid" value="22"></property>
2、构造方法赋值
a、构造方法里的参数顺序指定
<constructor-arg value="值"/>
b、构造方法里参数的索引位置指定
<constructor-arg index="索引" value="值"/>
3、list属性赋值
4、引用赋值
5、p:属性 方式赋值
a、注意上面需要导入链接
6、p:list 方式赋值
7、自动注入autowire
a、按名称注入
byName:的方式要求对象属性名和bean的id需要保持一
b、按类型注如:
注意:对应的bean只能有一个
byType:按照类型进行匹配,该类型对应的bean的类型有且只有一个,如果没有就为null
8、${} 获取属性文件中的key
9、#{具体的值}:可进行一些调用属性,还可进行逻辑操作
三、测试类
// 创建应用程序的上下文
ClassPathXmlApplicationContext cpac =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
// getBean() 方法来获得所需的 bean ComboPooledDataSource cpds= ComboPooledDataSource)cpac.getBean("getDataSource");