我正在尝试使用Spring 5学习Spring AOP编程。我正在浏览在线资料。
我开始知道AOP是一个概念,类似于OOP;通过AOP,OOP变得更加强大。
现在,我正在尝试使用Spring框架版本5为AOP进行一些动手编码。
我将使用maven作为构建工具。
我不清楚我们必须在pom.xml中使用哪些依赖项,例如我们需要使用:spring-aop
,spring-aspects
,aspectj
等。
任何人都可以指导我在pom.xml中添加的各种maven依赖项是什么,以便能够使用maven工具,Spring 5 AOP程序编写?
提前致谢
答案 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 依赖项中 - 添加具有多个版本的相同依赖项可能会导致构建失败。