编写Spring AOP程序的maven依赖项?

时间:2018-01-26 18:15:02

标签: spring maven spring-aop

我正在尝试使用Spring 5学习Spring AOP编程。我正在浏览在线资料。

我开始知道AOP是一个概念,类似于OOP;通过AOP,OOP变得更加强大。

现在,我正在尝试使用Spring框架版本5为AOP进行一些动手编码。

我将使用maven作为构建工具。

我不清楚我们必须在pom.xml中使用哪些依赖项,例如我们需要使用:spring-aopspring-aspectsaspectj等。

任何人都可以指导我在pom.xml中添加的各种maven依赖项是什么,以便能够使用maven工具,Spring 5 AOP程序编写?

提前致谢

2 个答案:

答案 0 :(得分:2)

非常简单,为了使用AOP工作,你需要在应用程序的类路径(版本1.6.8或更高版本)上使用aspectjweaver库。使用此依赖项来实现

<dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.13</version>
</dependency>

正如他们在文档中提到的那样

  

使用Java @Configuration启用@AspectJ支持添加   @EnableAspectJAutoProxy注释:

您可以找到更多信息here

唯一能使AOP起作用的春天依赖是着名的春天语境:

 <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.2.RELEASE</version>
</dependency>

如果你想要一个工作示例,请在github中检查我的项目,其中包含基于spring的基本Maven AOP示例

答案 1 :(得分:0)

如果您尝试在没有 Spring Boot(以及 Spring Boot 的任何启动依赖项)的情况下在 Spring 中使用 CGLIB 代理,那么除了 spring-context、spring-aop 依赖项之外,您还需要 aspectjweaver

注意不要添加任何依赖项,如果它们已经存在于您的 Maven 依赖项中 - 添加具有多个版本的相同依赖项可能会导致构建失败。