spring2.5学习札记三-spring的注入依赖之setter注入

spring2.5学习笔记三----spring的注入依赖之setter注入

  Spring注入依赖的Setter的方式注入依赖是经常使用的到得一种方法,也非常的简单,只需未每个需要注入的熟悉设置Setter方法

 

  构造器注入与Setter注入的比较

     由于大量的构造器参数可能使程序变得笨拙,特别是当某些属性是可选的时候。因此通常情况下,Spring开发团队提倡使用setter注入。而且setter DI在以后的某个时候还可将实例重新配置(或重新注入)

    尽管如此,构造器注入还是得到很多纯化论者(也有很好的理由)的青睐。一次性将所有依赖注入的做法意味着,在未完全初始化的状态下,此对象不会返回给客户代码(或被调用),此外对象也不需要再次被重新配置(或重新注入)。

对于注入类型的选择并没硬性的规定。只要能适合你的应用,无论使用何种类型的DI都可以。对于那些没有源代码的第三方类,或者没有提供setter方法的遗留代码,我们则别无选择--构造器注入将是你唯一的选择

  public class StudentService2 implements IStudentService {
    private IStudentDao studentDao;
    private String id;
 public void setId(String id) {
  this.id = id;
 }


 public void setStudentDao(IStudentDao studentDao) {
  this.studentDao = studentDao;
 }
 
   
 public void saveStudent() {
  studentDao.saveStudent();
  System.out.print(",ID为:"+id);
 }


}

 

spring配置文件

  <bean id="studentDao" class="com.wch.dao.impl.StudentDao"></bean>
    <bean id="studentService2" class="com.wch.service.impl.StudentService2">

  <!--

       指定需要注入bean   

    -->
       <property name="studentDao" ref="studentDao"></property>

   

  <!--

     直接变量(基本类型、Strings类型等。),可以通过value属性经行赋值

    -->

       <property name="id" value="123456789"></property> 
  </bean>