在调用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
之前创建表。没有例外。但是我仍然不知道这个数据依赖依赖性如何(为什么)解决这个问题。