Grails 的 BootStrap#init 在 Spring 引导中等效?

Grails' BootStrap#init equivalent in Spring Boot?

我想在我的 Spring Boot JPA MVC web 应用程序中填充一些初始/示例记录。在 Grails 中,我看到了一个示例,其中在 grails-app/init/BootStrap 文件中的 init 闭包中完成了此类初始化。

如何在 Spring 引导 Web 应用程序中执行相同的操作?

没什么特别的。只需为初始化创建一个 class 并将其声明为 spring bean。像典型的 spring bean.

一样声明存储库、记录器、事务等依赖项

Spring 有几种方法来声明将在 bean 创建后调用的方法,例如 postConstructafterPropertiesSetinit-method 等。您可以使用其中任何一种开始你的初始化。有关初始化回调的更多信息 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-factory-lifecycle-initializingbean

这是一个不错的博客,其中包含示例 https://coderwall.com/p/wfmxga/bootstrapping-data-with-spring

您可以使用以下代码:

import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;

@Component
public class Bootstrap implements InitializingBean {

    @Override
    public void afterPropertiesSet() throws Exception {
        // YOUR CODE...
    }
}