hibernate 在Spring的@Configuration类的所有bean加载之后运行方法

9rnv2umw  于 2023-08-06  发布在  Spring
关注(0)|答案(1)|浏览(95)

假设有一个Spring类,它看起来像这样。

@Configuration
public class Config {

    @Bean
    public BeanA beanA() {
        // ...
        return beanA;
    }
    
    @Bean
    public BeanB beanB() {
        // ...
        return beanB;
    }
    
    // ...
    
    @Bean
    public BeanN beanN() {
        // ...
        return beanN;
    }

    public void executeAfterAllBeans() {
        // some code
    }
}

字符串
我的目标是在Config类中的所有bean加载之后立即执行executeAfterAllBeans()方法。我怎么才能做到这一点?

6yt4nkrj

6yt4nkrj1#

我认为你应该在这个方法上使用@PostConstruct注解,它将在包含这个方法的类的bean被创建并带有它的属性(例如

@PostConstruct
public void executeAfterAllBeans() {
    // some code
}

字符串
如果你只是想确保它在上面的bean被创建后立即运行,那么你可以将这些bean作为方法参数传递,但是如果你不需要,就不要使用。这将迫使spring在执行方法(例如

@PostConstruct
public void executeAfterAllBeans(BeanA beanA, BeanB beanB) {
// some code
}

相关问题