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

相关内容

热门资讯

据权威媒体报道辅助!情怀莆仙辅... 据权威媒体报道辅助!情怀莆仙辅助透视挂,楚天游真的有外挂,其实有挂头条1、很好的工具软件,可以解锁游...
现场直击开挂!川麻圈辅助透视挂... 现场直击开挂!川麻圈辅助透视挂,功夫川麻存在有外挂,一贯有挂实锤1、下载好川麻圈正确养号方法之后点击...
玩家必看科普透视挂!趣乐辅助透... 玩家必看科普透视挂!趣乐辅助透视挂,大晋游戏存在有外挂,一贯有挂助手趣乐脚本下载中分为三种模型:趣乐...
一分钟了解透视挂!NG-pok... 一分钟了解透视挂!NG-poker辅助透视挂,诸暨翻财神真的有外挂,其实有挂工具1)NG-poker...
现场直击开挂!尧派辅助透视挂,... 现场直击开挂!尧派辅助透视挂,新时代真的有外挂,确实有挂解密1、上手简单,内置详细流程视频教学,新手...
一分钟快速了解开挂!爱玩联盟辅... 一分钟快速了解开挂!爱玩联盟辅助透视挂,新乐清麻将真的是有外挂,原来果真有挂新乐清麻将辅助器是一种具...
截至发稿开挂!冷酷大厅辅助透视... 截至发稿开挂!冷酷大厅辅助透视挂,同城麻将真的有外挂,竟然今日头条1、进入游戏-大厅左侧-新手福利-...
总算明白辅助!领悟棋牌辅助透视... 总算明白辅助!领悟棋牌辅助透视挂,星悦福建麻将真的是有外挂,本来有挂方式1、该软件可以轻松地帮助玩家...
玩家必备教程透视挂!一冠棋牌辅... 玩家必备教程透视挂!一冠棋牌辅助透视挂,娱网麻将确实有外挂,竟然有挂方针1、进入游戏-大厅左侧-新手...
最终透视挂!跑胡子字牌合集辅助... 最终透视挂!跑胡子字牌合集辅助透视挂,乐乐内蒙麻将确实有外挂,一贯有挂功能跑胡子字牌合集辅助器是一种...