2017-04-21 55 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. 
     } 
    } 
} 

要填充數據或進行任何其他類型的初始化,您可以使用這些初始化。