春季:为什么用@PostConstruct注释的方法不能是静态的?

问题描述

我正在以下站点上阅读有关@postconstruct的文档:https://www.baeldung.com/spring-postconstruct-predestroy

它写为:

以@postconstruct注释的方法可以具有任何访问级别,但 它不能是静态的。

有人可以告诉我为什么用此注释注释的方法不能是静态的吗?

解决方法

好吧,方法的名称已经说明了它的作用。

PostConstruct ,此方法将在构造方法之后调用。它不能是静态的,因为静态方法无法访问非静态变量,方法等。

如果您需要一次静态操作,则可以使用静态块。

,

有人可以告诉我为什么用此注释注释的方法不能 是静态的吗?

标记为@PostConstruct的方法是Spring在创建bean实例后应该调用的方法。该方法通常用于执行实例的某些后期构造配置。该方法为静态是没有意义的,因为静态方法可能不会与该类的任何实例中的任何实例状态交互。