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 方法中。