Autowired注解起什么作用呢?
下文笔者将讲述Autowired注解的功能简介说明,如下所示:
Autowired注解的功能: 用于依赖注入,最常见的是属性注入,构造函数的参数注入 下文笔者将详细讲述各种注入的详细说明,如下所示:
构造函数上使用@Autowired注解
1.当在构造函数上加入@Autowired注解时,Spring容器初始化实例时,会调用此构造函数,进行实例化 2.当构造方法上带有了@Autowired注解,但构造函数是使用private修饰的,此时类也可以被实例化 3.当一个对象只有一个构造函数时,Spring实例化对象会默认选择这个构造方法进行实例化,无需加@Autowired注解 当多个构造方法存在时,才用加@Autowired注解,告诉Spring选择哪个构造方法进行实例化 4.多个构造函数上使用@Autowired,此时只能允许一个required属性为true,其他的@Autowired直接的required属性必须设置为false 5.实例化带参数的构造方法时,Spring有先实例化参数对象中的其他值(这是spring循环依赖处理的问题) 注意事项: 通常当一个类中有多个构造函数时,我们可选择一个构造方法上加@Autowired注解,spring则会使用此构造函数进行实例化对象
类属性上使用@Autowired注解
类的属性无论是private ,public ,Spring在构造bean的时候,都会将起属性进行注入
方法上使用Autowired注解
当在方法上加入Autowired注解,则Spring会自动运行此方法
注意事项: 在BeanPostProcessor类和BeanFactoryPostProcessor类中无法使用@Autowired注解 因为@Autowired注解的收集工作就是由BeanPostProcessor类来完成的 且BeanFactoryPostProcessor类的调用时机先于BeanPostProcessor类。所以这两个类无法使用@Autowired注解。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。