为何是反转,哪些方面反转了?IOC的利益
有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依靠对象,也就是正转;而反转则是由容器来帮忙创建及注入依靠对象;
控制:指的是对象创建(实例化、管理)的权力
反转:控制权交给外部环境(Spring 框架、IoC 容器)
将@Autowired写在被注入的成员变量上,setter或者构造器上,就不用再xml文件中配置了。基于属性的依靠注入
将@Autowired写在被注入的成员变量上,setter或者构造器上,就不用再xml文件中配置了。为什么建议利用构造器注入
注意:不能提供无参构造方法,否则Springboot默认会加载无参的构造方法,Bean实例对象会为null。并且构造器的权限需要为public
The Spring team generally advocates constructor injection as it enables one to implement application components as immutable objects and to ensure that required dependencies are not null. Furthermore constructor-injected components are always returned to client (calling) code in a fully initialized state.翻译一下就是:这个构造器注入的方式能够保证注入的组件不可变,并且确保需要的依靠不为空。此外,构造器注入的依靠总是能够在返回客户端(组件)代码的时候保证完全初始化的状态。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |