Spring Boot Aspect自动装配

时间:2016-06-03 11:25:20

标签: spring-boot autowired spring-aop

我已经创建了一个注释来在spring启动项目中调用Spring AOP Aspect。一切正常,直到我尝试将依赖关系自动装配到Aspect:自动装配不会发生。

我已经在stackoverflow中读过各种问题,这是因为Aspect不是Spring管理的。如果以前已经回答过,请道歉,但我已尝试过stackoverflow中提到的各种解决方案,包括使用@Configurable和实现ApplicationContextAware。

要使其发挥作用,最简单的变化是什么?

我创建了一个简单的例子来说明问题:如果直接创建了依赖项,则测试通过:

CreateObject("WScript.Shell")

如何调试方面?

由于

1 个答案:

答案 0 :(得分:0)

在使用Aspects.aspectOf

的配置类中添加了一个bean
@SpringBootApplication
@Configuration
public static class TestConfiguration {

    /** 
     * This is needed to get hold of the instance of the aspect which is created outside of the spring container, 
     * and make it available for autowiring. 
     */
    @Bean
    LogDurationAspect logDurationAspect()
    {
        final LogDurationAspect aspect = Aspects.aspectOf(LogDurationAspect.class);
        return aspect;
    }
}