spring注入的三种方式
- set注入
调用对象的set方法给属性赋值,调用的是无参数的构造方法创建对象。
<bean id="bookDao" class="com.di.dao.BookDaoImpl"><bean>
<bean id="bookservice" class="com.di.service.BookServiceImpl">
<property name="bookDao" ref="bookDao"></property>
<bean>
- 构造注入
spring容器调用指定的构造方法,给对象属性赋值。
<bean id="s1" class="com.di.Student">
<constructor-arg index="0" value="张三"></constructor-arg>
<constructor-arg index="1" value="18"></constructor-arg>
<constructor-arg index="2" ref="playing"></constructor-arg>
</bean>
<bean id="s2" class="com.di.Student">
<constructor-arg name="name" value="李四"></constructor-arg>
<constructor-arg name="age" value="19"></constructor-arg>
<constructor-arg name="hobby" ref="playing"></constructor-arg>
</bean>
- p标签注入
<bean id="s3" class="com.di.Student"
p:name="王二麻子"
p:age="20"
p:hobby-ref="playing"/>