一、问题引入
官方为什么推荐构造器注入?
构造器注入和属性注入的区别是啥?
你知道有几种注入方式吗?
二 注入方式
spring的注入方式就两种 配置注入,注解注入(自动装配)
而这两种方式都实现了三种注入方法,访问器注入(setterXXX,newXXX,initXXX等),属性注入(filed),构造器注入(constructor)。
下图为注解注入的三种注入使用简易图。注意仅说明格式,该类使用是错误的,只需一种即可
ps.可以看出这三个注入,访问器和构造器都是一个方法,我们是不是可以是有两种注入?属性注入和方法注入?
那为什么我说三种,其实是基于配置注入区分的。(在自己的类注入,在自己的类注入其他类实例,在自己的类注入 其他类通过访问器生成的实例,没记错应该是这三个求打脸)
但是基于java8支持多注解,spring出了spring-boot,从而把配置丢掉的人不在小数
是的就是我。虽然配置化的项目泛用性强,但是配置一多,重复率比代码还高,所以盲目的追求项目的配置化并不好,spring就把这部分精简到代码里面了