欢迎来到彬不冰的博客!|

彬不冰

园龄:3年5个月粉丝:2关注:0

spring依赖注入的三种方式,以及各自的优缺点

1.变量注入

@Controller
public class AdminController {

   /*依赖注入 接口注入(spring已经不推荐)*/
   @Autowired
   private UserMapper userMapper;
   
   //......
}

优点:

注入方式简单,非常简洁,没有任何多余代码

缺点:

1、注入的对象不能用final修饰

2、可能导致循环依赖问题,并且启动的时候不会报错,只有在使用bean的时候才会报错

2.构造器注入

@Controller
public class DepartmentController {

   /*依赖注入 构造器注入,如果存在循环依赖,项目启动就会报错*/
   private final DepartmentMapper departments;
   @Autowired
   public DepartmentController(DepartmentMapper departments) {
       this.departments = departments;
  }
//......  
}

优点:

1、显示注入必须强制注入,通过强制指明依赖注入来保证这个类的运行,防止发生NullPointerException。

2、注入的对象可以使用final修饰。

3、可以避免秀环依赖问题,如果存在循环依赖的话,Spring在项目启动的时候就会报错。

缺点:

当你有十几个甚至跟对对象需要最时,构造函数的代码臃肿,看起来不舒服

3.setter方法注入

@Controller
public class AnnouncementController {

   /*依赖注入 setter注入方式*/
   private AnnouncementMapper announcementMapper;
   @Autowired
   public void setAnnouncementMapper(AnnouncementMapper announcementMapper) {
       this.announcementMapper = announcementMapper;
  }
   
   //......
}

优点:

1、依赖注入中使用的依赖对象是可选的,意思是注入的依赖对象是可以为NULL的。

2、允许在类构造完成后重新注入

缺点:

注入的对象不能用final修饰

 

本文作者:彬不冰

本文链接:https://www.cnblogs.com/lichuanbin/p/16386478.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   彬不冰  阅读(388)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 青鸟 いきものがかり
青鸟 - いきものがかり
00:00 / 00:00
An audio error has occurred.

飛翔いたら

戻らないと言って

目指したのは

蒼い 蒼い あの空

悲しみはまだ

覚えられず

切なさは今

つかみはじめた

あなたへと抱く

この感情も

今言葉に変わっていく

未知なる世界の

遊迷から目覚めて

この羽根を広げ

飛び立つ

飛翔いたら

戻らないと言って

目指したのは

白い 白い あの雲

突き抜けたら

みつかると知って

振り切るほど

蒼い 蒼い あの空

蒼い 蒼い あの空

蒼い 蒼い あの空

愛想尽きたような音で

錆びれた古い窓は壊れた

見飽きたカゴは

ほら捨てていく

振り返ることはもうない

高鳴る鼓動に

呼吸を共鳴けて

この窓を蹴って

飛び立つ

駆け出したら

手にできると言って

いざなうのは

遠い 遠い あの声

眩しすぎた

あなたの手も握って

求めるほど

蒼い 蒼い あの空

墜ちていくと

わかっていた

それでも

光を追い続けていくよ

飛翔いたら

戻れないと言って

探したのは

白い 白い あの雲

突き抜けたら

みつかると知って

振り切るほど

蒼い 蒼い あの空

蒼い 蒼い あの空

蒼い 蒼い あの空