是否有Spring Framework的命令行界面

时间:2017-04-21 14:16:07

标签: java spring spring-mvc spring-boot

我希望在应用运行时访问ORM层以创建新用户或虚拟数据。在Rails中有这样的功能。 Spring Boot Application是否可行?

2 个答案:

答案 0 :(得分:3)

Spring没有提供任何类似的命令行界面。 Spring提供了许多功能来插入您的实现来创建这样的虚拟数据。 Spring启动 - 使用jdbc启动程序只需在类路径中选择名称为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.
        }
    }
}

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

答案 1 :(得分:2)

如果您确实需要命令行访问权限,那么您可以查看CRaSH。但请注意,it's deprecated and will be removed with Spring Boot 2.0

如果您想在创建bean上下文后直接执行某些操作,请尝试CommandLineRunner界面。