我正在使用带有嵌入式h2database的Spring Boot 1.2.0。 使用类路径中的schema.sql文件初始化数据库。 它工作正常,直到我将@EnableGlobalMethodSecurity注释添加到WebSecurityConfiguration类。
java.lang.IllegalStateException:ApplicationEventMulticaster未初始化异常从DataSourceInitializer.runSchemaScripts抛出
可能是什么问题?
以下是代码:
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@EnableGlobalMethodSecurity(securedEnabled = true)
@Configuration
class WebSecurityConfiguration extends GlobalAuthenticationConfigurerAdapter {
@Autowired
DataSource dataSource;
@Override
public void init(AuthenticationManagerBuilder auth) throws Exception {
auth.jdbcAuthentication().dataSource(dataSource);
}
}
答案 0 :(得分:0)
我认为解决方案是不使用init
方法来设置JDBC身份验证。尝试使用扩展GlobalAuthenticationConfigurerAdapter
的单独类并覆盖config
方法。