码迷,mamicode.com
首页 > 编程语言 > 详细

spring中Constructor、@Autowired、@PostConstruct的顺序【转】

时间:2018-09-21 21:39:02      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:对象   无法   print   https   span   art   自动调用   class   构造方法   

其实从依赖注入的字面意思就可以知道,要将对象p注入到对象a,那么首先就必须得生成对象p与对象a,才能执行注入。所以,如果一个类A中有个成员变量p被@Autowired注解,那么@Autowired注入是发生在A的构造方法执行完之后的。 如果想在生成对象时候完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么就无法在构造函数中实现。为此,可以使用@PostConstruct注解一个方法来完成初始化,@PostConstruct注解的方法将会在依赖注入完成后被自动调用。

Constructor >> @Autowired >> @PostConstruct

public Class AAA {
    @Autowired
    private BBB b;
    
    public AAA() {
        System.out.println("此时b还未被注入: b = " + b);
    }
 
    @PostConstruct
    private void init() {
        System.out.println("@PostConstruct将在依赖注入完成后被自动调用: b = " + b);
    }
}

转自https://blog.csdn.net/u014515854/article/details/78832790

spring中Constructor、@Autowired、@PostConstruct的顺序【转】

标签:对象   无法   print   https   span   art   自动调用   class   构造方法   

原文地址:https://www.cnblogs.com/langren1992/p/9688524.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!