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