0

我有一个以编程方式配置的 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();
    }
}

当我启动我的 web 应用程序时,我得到了 Spring 无法使用注释处理我的任何 bean 的错误。

4

1 回答 1

0

根据本期评论:https ://issues.apache.org/jira/browse/SHIRO-222

我应该声明该方法static以避免早期创建配置 bean(我实际上还不太确定 Spring 配置机制是如何工作的,这可能是我遇到此错误的原因)。

@Bean
public static LifecycleBeanPostProcessor lifecycleBeanPostProcessor() {
    return new LifecycleBeanPostProcessor();
}

这可以防止所有错误的发生。

于 2013-03-21T04:26:38.877 回答