我有一个以编程方式配置的Spring Web应用程序。我正在尝试Apache Shiro作为我的身份验证框架,我遇到了将Shiro与Spring集成的问题,特别是使用程序化配置(因为我决定不想编写大量的XML)。这是相关的代码段:
@Configuration //Replaces Spring XML configuration
@EnableTransactionManagement //Enables declarative Transaction annotations
public class SpringAppConfig {
@Bean
public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() {
return new LifecycleBeanPostProcessor();
}
}
当我启动我的网络应用程序时,我遇到错误,Spring无法使用注释处理我的任何bean。
答案 0 :(得分:0)
根据此问题中的评论:https://issues.apache.org/jira/browse/SHIRO-222
我应该将方法声明为static
以避免早期的配置bean创建(我实际上还不太清楚Spring配置机制是如何工作的,这可能是我遇到此错误的原因)。
@Bean
public static LifecycleBeanPostProcessor lifecycleBeanPostProcessor() {
return new LifecycleBeanPostProcessor();
}
这可以防止发生所有错误。