AUTOWIRING通过属性,setter和构造函数的区别是什么?
创始人
2024-11-12 16:30:33
0

在Spring框架中,可以使用三种不同的方式实现依赖注入的自动连接(AUTOWIRING)。这三种方式分别是属性注入(By Attribute)、Setter注入(By Setter)、构造函数注入(By Constructor)。

属性注入(By Attribute):使用@Autowired注释来自动将实例化类的属性附加到Spring容器中定义的bean。下面的示例演示了通过属性注入将CustomerService的customerDao属性连接到CustomerDaoImpl bean。

@Service
public class CustomerService {
   @Autowired
   private CustomerDao customerDao; 
}

Setter注入(By Setter):使用@Autowired注释将依赖项注入到setter方法中。下面的示例演示如何通过setter注入将CustomerService的customerDao属性连接到CustomerDaoImpl bean。

@Service
public class CustomerService {
   private CustomerDao customerDao;
   
   @Autowired
   public void setCustomerDao(CustomerDao customerDao) {
      this.customerDao = customerDao;
   }
}

构造函数注入(By Constructor):使用@Autowired注释将构造函数的参数注入实现类的实例化。下面的示例演示了如何通过构造函数注入将CustomerService的customerDao属性连接到CustomerDaoImpl bean。

@Service
public class CustomerService {
   private CustomerDao customerDao;

   @Autowired
   public CustomerService(CustomerDao customerDao) {
      this.customerDao = customerDao;
   }
}

总的来说,这三种方式的主要区别在于注入依赖项的时间和方式。属性注入最简单的方式,而构造函数注入则是最常见的方式,因为它够简单且明确。Setter注入在某些情况下也是一种合理的方式,例如当必须注入多个依赖项时。

相关内容

热门资讯

德州之星有辅助挂!德州ai辅助... 德州之星有辅助挂!德州ai辅助有用,(wEpOke)一贯是真的有挂,透牌教程(有挂细节)德州之星有辅...
透视安卓版!wpk透视脚本,w... 透视安卓版!wpk透视脚本,wepoker透视脚本苹果版,推荐几款新版(有挂了解)1、完成透视辅助安...
wpk有外挂!德州之星辅助挂,... wpk有外挂!德州之星辅助挂,(wePOke)总是真的有挂,解密教程(有挂教程)1、点击下载安装,德...
透视ai代打!aapoker可... 透视ai代打!aapoker可以开挂吗,红龙poker辅助,重要通知(有挂教程)1、下载好辅助软件之...
wepoke辅助插件!WePo... wepoke辅助插件!WePoKe透视挂,(wePOKE)好像存在有挂,揭秘教程(有挂辅助);1、完...
透视有挂!wpk有脚本吗,aa... 透视有挂!wpk有脚本吗,aapoker辅助插件工具下载,分享一款(有挂详情);1、aapoker辅...
微扑克有辅助挂!aapoker... 微扑克有辅助挂!aapoker发牌机制,(wePoke)竟然有挂,必备教程(有挂规律);1、下载好微...
透视辅助!德普之星透视辅助,w... 透视辅助!德普之星透视辅助,wpk辅助ai,重大推荐(有挂技巧)辅助器中分为三种模型:软件透明挂、辅...
WePoKe透视挂!wpk透视... WePoKe透视挂!wpk透视辅助,(wePOKE)原来有挂,2025新版教程(有挂方法);1、上手...
透视实锤!wepoker透视脚... 透视实锤!wepoker透视脚本免费,智星菠萝可以辅助吗,玩家亲测(有挂透明);1、每一步都需要思考...