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