Spring 引导中的构造函数调用顺序
Order of constructor calls in Spring boot
我有一个用 @Service
注释的 class ServiceClass
,在里面我为一个对象做构造函数注入。
@Service
public class ServiceClass
{
Dog dog;
@Autowired
public ServiceClass(Dog dog) {
this.dog = dog;
}
}
现在我还需要添加一些配置代码,应该 运行 只需一次,并且在 ServiceClass
.
中的任何其他方法调用之前
我想创建一个无参数构造函数并将这些配置放入其中,但 spring 没有调用该构造函数。
我应该把它放在我进行注入的构造函数中,还是有其他方法来实现它。
在这种情况下,有两个合适的选择,无需在构造函数中实现初始化逻辑。
第一个是 @PostConstruct,您可以在其中定义配置逻辑。另一种选择是让您的 ServiceClass 实现 InitializingBean 接口并将此配置逻辑放入您的 afterPropertiesSet 方法中。
我有一个用 @Service
注释的 class ServiceClass
,在里面我为一个对象做构造函数注入。
@Service
public class ServiceClass
{
Dog dog;
@Autowired
public ServiceClass(Dog dog) {
this.dog = dog;
}
}
现在我还需要添加一些配置代码,应该 运行 只需一次,并且在 ServiceClass
.
我想创建一个无参数构造函数并将这些配置放入其中,但 spring 没有调用该构造函数。
我应该把它放在我进行注入的构造函数中,还是有其他方法来实现它。
在这种情况下,有两个合适的选择,无需在构造函数中实现初始化逻辑。
第一个是 @PostConstruct,您可以在其中定义配置逻辑。另一种选择是让您的 ServiceClass 实现 InitializingBean 接口并将此配置逻辑放入您的 afterPropertiesSet 方法中。