spring依赖注入之setter方式注入

本文介绍了Spring框架中依赖注入的两种常见方法:构造器注入与Setter注入,并对比了它们各自的优缺点。通过具体Java代码示例及Spring配置文件,展示了如何使用Setter注入来实现依赖关系的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

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

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

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

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

  

Java代码 复制代码
  1. public class StudentService2 implements IStudentService {   
  2.     private IStudentDao studentDao;   
  3.     private String id;   
  4.  public void setId(String id) {   
  5.   this.id = id;   
  6.  }   
  7.   
  8.   
  9.  public void setStudentDao(IStudentDao studentDao) {   
  10.   this.studentDao = studentDao;   
  11.  }   
  12.     
  13.        
  14.  public void saveStudent() {   
  15.   studentDao.saveStudent();   
  16.   System.out.print(",ID为:"+id);   
  17.  }   
  18.   
  19.   
  20. }    

  spring配置文件

Xml代码 复制代码
  1. <bean id="studentDao" class="com.wch.dao.impl.StudentDao"></bean>  
  2.   <bean id="studentService2" class="com.wch.service.impl.StudentService2">  
  3.   
  4. <!--  
  5.  
  6.      指定需要注入bean      
  7.  
  8.   -->  
  9.      <property name="studentDao" ref="studentDao"></property>  
  10.   
  11.      
  12.   
  13. <!--  
  14.  
  15.    直接变量(基本类型、Strings类型等。),可以通过value属性经行赋值  
  16.  
  17.   -->  
  18.   
  19.      <property name="id" value="123456789"></property>     
  20. </bean>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值