使用Spring Security部署Spring MVC App时自动插入默认记录

问题描述 投票:0回答:3

我正在寻找一种在部署spring mvc应用程序时使用JPA自动插入默认管理员帐户的方法。

我的数据库是基于实体生成的。

我想在每次部署应用程序时启动一些插入默认管理员用户,分配角色的内容。

spring spring-mvc spring-security jpa-2.0
3个回答
1
投票

这取决于您使用的JPA的实现。如果使用Hibernate,可以将import.sql文件(包含要加载的记录)添加到类路径中。更多信息here

作为一种解决方法,您还可以使用dbunit工具。


1
投票

我建议使用一个迁移实用程序来保持数据库与代码库同步 - 这些通常是DDL,但是插入默认管理员用户,分配角色等的查询也可以是此迁移实用程序的一部分。有一个很好的可用 - Flyway是我用过的,Liquibase是另一个。

您还可以查看Flyway主页上不同迁移实用程序的非常好的比较。


0
投票

我使用CommandLineRunner接口。

@Component    
public class CommandLineAppStartupRunner implements CommandLineRunner {
    @Autowired
    UserRepository userRepository;

    @Override
    public void run(String...args) throws Exception {
        User admin = new user(firstName);
        userRepository.save(admin);
    }
}

在应用程序启动之前,将执行此类。

你可以在这里找到其他方式:Guide To Running Logic on Startup in Spring

© www.soinside.com 2019 - 2024. All rights reserved.