如何仅使用java配置在spring配置中定义一个方面

时间:2017-02-26 12:20:22

标签: java spring annotations aspectj aspect

以下是如何使用注释定义方面的示例:

@Aspect
public class BlaBla() {
    @Pointcut(...)
    ...

    @Before(...)
    ...

    @After(...)
    ...
}

这是我通过研究发现的唯一方式。但是我希望类BlaBla不会受到注释和切入点方法的污染。我希望它仍然是一个POJO。如果我使用xml spring配置,我可以轻松完成:

<bean id="blaBla" class="BlaBla">...</bean>

<aop:config>
    <aop:aspect ref="blaBla">
        <aop:pointcut .../>
        <aop:before .../>
        <aop:after .../>
    </aop:aspect>
</aop:config>

但是,我没有使用xml配置,而是使用Java配置。基本上问题是,我怎么能说弹簧类BlaBla是一个方面而不改变BlaBla类本身,而是在一个用@Configuration spring注释注释的java类中定义它。

1 个答案:

答案 0 :(得分:0)

你需要创建另一个类BlaBlaAopConfig或类似的东西,这将是你的配置类。

Java配置与xml没有什么区别,你需要定义它,你应该从你的代码中分离出来。只有你得到的差异,而使用java配置而不是xml更好(或更糟糕,取决于个人喜好)清晰度。但是你永远不想在一个类中混合使用aop和pojo代码。

您将在@Pointcut中定义目标类BlaBla