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注入在某些情况下也是一种合理的方式,例如当必须注入多个依赖项时。

相关内容

热门资讯

第一分钟总结!小闲川南宜宾辅助... 第一分钟总结!小闲川南宜宾辅助,兴动互娱辅助器多少钱(切实真的是有挂)-哔哩哔哩一、兴动互娱辅助器多...
3分钟了解!湖南牵手胡子跑改脚... 3分钟了解!湖南牵手胡子跑改脚本,微友辅助神器下载(原来有挂)-哔哩哔哩1)湖南牵手胡子跑改脚本辅助...
5分钟详细!微乐广西小程序脚本... 5分钟详细!微乐广西小程序脚本,决战卡五星辅助看牌器(竟然真的是有挂)-哔哩哔哩决战卡五星辅助看牌器...
第6分钟专业!新海豚辅助工具,... 第6分钟专业!新海豚辅助工具,决战手游辅助(竟然真的是有挂)-哔哩哔哩1、下载好新海豚辅助工具辅助软...
九分钟必备!微信呢小程序辅助器... 九分钟必备!微信呢小程序辅助器脚本,赣牌圈有挂吗(果然是有挂)-哔哩哔哩运微信呢小程序辅助器脚本辅助...
第6分钟解密!皇豪互众插件,随... 第6分钟解密!皇豪互众插件,随意玩辅助软件(确实有挂)-哔哩哔哩1、完成随意玩辅助软件透视辅助安装,...
六分钟普及!新西部辅助外卦,衢... 六分钟普及!新西部辅助外卦,衢州都莱辅助器下载(原来真的有挂)-哔哩哔哩衢州都莱辅助器下载辅助器中分...
第5分钟解迷!透视辅助功能插件... 第5分钟解迷!透视辅助功能插件下载,新漫游正版辅助软件(其实真的有挂)-哔哩哔哩1、透视辅助功能插件...
六分钟关于!四川途游辅助软件,... 六分钟关于!四川途游辅助软件,新518互游插件下载(好像真的是有挂)-哔哩哔哩1、四川途游辅助软件机...
第6分钟详情!指尖四川辅助脚本... 第6分钟详情!指尖四川辅助脚本苹果版,宁夏划水辅助(一直是真的挂)-哔哩哔哩1、上手简单,内置详细流...