2017-04-21 37 views
2

我想在应用程序运行时访问ORM层以创建新用户或虚拟数据。在Rails中有这样的功能。 Spring Boot Application有可能吗?是否有任何用于Spring Framework的命令行界面

+0

在应用程序运行时,通过API使用'curl'和'post'新用户 – Andrew

+0

建议:在适当的位置添加一个断点并运行一些代码,用虚拟数据来调用ORM。 – qtips

+0

@AndrewTobilko - 目前,我正在使用这种方法,但是,我认为这并不安全。 –

回答

3

Spring不提供任何类似的命令行界面。 Spring提供了很多功能来插入你的实现来创建这样的虚拟数据。 Spring引导 - 使用jdbc starter只需在名称为schema.sql和data.sql的类路径中选择sqls。这些名字也可以被重写。

您还可以注册ApplicationListeners,如下所示。

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. 
     } 
    } 
} 

要填充数据或进行任何其他类型的初始化,您可以使用这些初始化。