在托管bean中,@PostConstruct是在常规Java对象构造函数之后调用的。
@PostConstruct
为什么要使用@PostConstructbean初始化而不是常规构造函数本身?
@PostConstructbean
因为在调用构造函数时,bean尚未初始化-即没有注入依赖项。在该@PostConstruct方法中,bean已完全初始化,你可以使用依赖项。
因为这是保证可以在bean生命周期中仅调用一次此方法的协定。可能会发生(尽管不太可能)容器在其内部工作中多次实例化bean,但它保证@PostConstruct仅将其调用一次。