Spring bean注入值的方法。1.通过构造函数注入值
beans.xml
对象类中要声明构造函数
2.通过属性值
3.自动装配
(1)
<!– 配置一个master对象 –>
<bean id=”master” >
<property name=”name”>
<value>顺平</value>
</property>
</bean>
<!– 配置dog对象 –>
<bean id=”dog”>
<property name=”name” value=”小黄”/>
<property name=”age” value=”3″/>
</bean>
原理图:
(2)
(3)
说明 : 查找和bean的构造参数一致的一个或
(4) autodetect
说明 :
(3)和(2)之间选一个方式。不确定
(5) defualt
这个需要在<beans defualt-autorwire=“指定” />
当你在<beans >指定了default-atuowrite后, 所有的bean的 默认的autowire就是 指定的装配方法;
如果没有在<beans defualt-autorwire=“指定” /> 没有
defualt-autorwire=”no”
(6) no: 不自动装配
二、使用spring的特殊bean,(包括bean生命周期中的接口)
(1)类对象
DBUtils
public class DBUtils {
private String url;
private String name;
private String password;
private String drivername;
(2)db.properties属性文件
name=ru
password=123456
url=jdbc:oracle:thin:@127.0.0.1:1521:hsp
drivername=oracle\:jdbc\:driver\:OracleDirver
(3)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”
xmlns:context=”http://www.springframework.org/schema/context”
xmlns:tx=”http://www.springframework.org/schema/tx”
xsi:schemaLocation=”http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd”>
<!– 分散配置bean通过占位符实现 –>
<context:property-placeholder location=”classpath:com/ru/disperse/db.properties”/>
<bean id=”dbutil” >
<property name=”name”>
<!– 通过占位符实现赋值 –>
<value>${name}</value>
</property>
<property name=”password”>
<value>${password}</value>
</property>
<property name=”url”>
<value>${url}</value>
</property>
<property name=”drivername”>
<value>${drivername}</value>
</property>
</bean>
</beans>
2.这些在bean生命周器可能用到
四。使用注解方式注入属性值
1.<!– 如果使用注解注入属性,既要启用注解扫描 –>
<context:annotation-config/>
如果不实用注解方式的话可以这样
<!– <bean id=”employeeService”>
<property name=”sessionFactory” ref=”sessionFactory” />
</bean>–>
2.<!– 配置EmployeeService对象通过注解的方式来注入属性值,这是一个知识点 –>
<bean id=”employeeService”/>
3.在employeeService类中,使用