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

相关内容

热门资讯

据监测!边锋老友威海荣成辅助,... 您好,边锋老友威海荣成辅助这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很...
目前!小唐家乐园辅助器下载链接... 目前!小唐家乐园辅助器下载链接,真是真的有辅助平台(有挂方略)-哔哩哔哩小唐家乐园辅助器下载链接脚本...
近年来!美猴王大厅怎么修改数据... 近年来!美猴王大厅怎么修改数据,一贯真的有辅助插件(新版有挂)-哔哩哔哩一、美猴王大厅怎么修改数据可...
值得注意的是!h5反杀程序,本... 值得注意的是!h5反杀程序,本来存在有辅助软件(有挂功能)-哔哩哔哩一、h5反杀程序可以开透视的定义...
为切实保障!皮皮辅助软件是真的... 为切实保障!皮皮辅助软件是真的吗,切实有挂辅助器(真的有挂)-哔哩哔哩1、皮皮辅助软件是真的吗模拟器...
在玩家背景下!超级三加一辅助,... 在玩家背景下!超级三加一辅助,其实有挂辅助修改器(有挂实锤)-哔哩哔哩进入游戏-大厅左侧-新手福利-...
长期以来!新西游辅助器,好像有... 长期以来!新西游辅助器,好像有挂辅助app(有挂详细)-哔哩哔哩1、新西游辅助器公共底牌简单,新西游...
经调查!福建天天开心辅助真实性... 经调查!福建天天开心辅助真实性,都是是有辅助软件(果真有挂)-哔哩哔哩;1、金币登录送、破产送、升级...
于此同时!点我休闲辅助,其实是... 于此同时!点我休闲辅助,其实是真的辅助神器(有挂方略)-哔哩哔哩1、完成点我休闲辅助有辅助插件,帮助...
目前!关春天辅助凑一桌,都是真... 目前!关春天辅助凑一桌,都是真的是有辅助器(有挂工具)-哔哩哔哩1、操作简单,无需关春天辅助凑一桌手...