什么是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>