Spring Boot初始化顺序

时间:2015-07-29 21:02:44

标签: java spring-boot

在调用SecurityConfiguration类之前,如何修复在数据库中初始化(创建)enities?

1。简单应用

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
      SpringApplication.run(Application.class, args);
    }
}

2。实体示例

@Component
@Entity
@Table(name = "users")
public class Users {
   ...
}

第3。 SecurityConfiguration

@Configuration
@EnableWebMvcSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    private DataSource datasource;
    @Autowired
    protected void setDatasource(DataSource datasource) {
        this.datasource = datasource;
    }
    ... 
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        ...
        if (!userDetailsService.userExists("user")) {
        ...
        }
    }
}

我尝试在@DependsOn({"users", "authorities"})中使用类似SecurityConfiguration的内容,但这没有帮助 从configure方法获取异常,因为找不到表。如果我不接触db那里我的表将被创建。

编辑:可能的解决方案
我的第一个pom.xml有这样的依赖关系:

<artifactId>spring-boot-starter-security</artifactId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<artifactId>spring-boot-starter-web</artifactId>
<artifactId>spring-boot-starter-data-jpa</artifactId>

添加数据休息依赖已解决了我的问题:

<artifactId>spring-boot-starter-data-rest</artifactId>

现在在调用SecurityConfiguration之前创建表。没有例外。但是我仍然不知道这个数据依赖依赖性如何(为什么)解决这个问题。

0 个答案:

没有答案