我想在应用程序运行时访问 ORM 层来创建新用户或虚拟数据。 Rails中有一个这样的功能。 Spring Boot应用程序可以吗?
最佳答案
Spring 不提供任何类似的命令行界面。 Spring 提供了许多功能来插入您的实现以创建此类虚拟数据。 Spring boot - 使用 jdbc starter 只是在类路径中选择名称为 schema.sql 和 data.sql 的 sql。这些名称也可以被覆盖。
您还可以按如下方式注册ApplicationListener。
public class EndpointsListener implements ApplicationListener {
@Override
public void onApplicationEvent(ApplicationEvent event) {
if (event instanceof ContextRefreshedEvent) {
ApplicationContext applicationContext = ((ContextRefreshedEvent) event).getApplicationContext();
YourDaoRepository repo = applicationContext.getBean(YourDaoRepository.class);
// Do what ever u want here.
}
}
}
要填充数据或进行任何其他类型的初始化,您可以使用它们。
关于java - Spring框架有命令行界面吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43544998/