什么是setter注入?
setter注入就是利用普通Javabean 属性的setter方法实例化bean中的某个属性,使用场景例如:Hibernat框架中在Dao层注入sessionFactory的时候
使用场景:
框架中的案例:
<!-- 配置hibernate的相关信息 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <bean id="categorySecondDao" class="com.cissst.shop.categorysecond.dao.CategorySecondDao"> <property name="sessionFactory" ref="sessionFactory"></property> </bean>
public class CategorySecondDao extends HibernateDaoSupport{
}
HibernateDaoSupport 源码
public abstract class HibernateDaoSupport extends DaoSupport { private HibernateTemplate hibernateTemplate; public final void setSessionFactory(SessionFactory sessionFactory) { if ((this.hibernateTemplate == null) || (sessionFactory != this.hibernateTemplate .getSessionFactory())) this.hibernateTemplate = createHibernateTemplate(sessionFactory); } }
项目中的案例:
<bean id="userAction" class="com.xx.action.UserAction">
<!--第一种--> <property name="age" value="13"></property>
<!--第二种-->
<property name="name"> <value>孙权</value> </property> </bean>
<bean id="userAction" class="com.xx.action.UserAction"> <property name="userService" ref="userService"></property> </bean> <bean id="userService" class="com.xx.service.UserServiceImpl"> <property name="eat" value="吃水果"></property> </bean>
Best Regards