不依赖Spring使用AspectJ达到AOP面向切面编程
时间: 2024-02-06 12:03:46 浏览: 224
Spring 使用AspectJ 实现 AOP
使用AspectJ来实现AOP面向切面编程,可以不依赖于Spring。下面给出一个简单的例子:
1. 定义一个切面类,这个类中定义了一些切点和切面逻辑:
```java
public aspect LogAspect {
pointcut log() : execution(* com.example.demo.service.*.*(..));
before() : log() {
System.out.println("Before method execution");
}
after() : log() {
System.out.println("After method execution");
}
}
```
2. 在应用程序的配置文件中,开启AspectJ的支持:
```xml
<aop:aspectj-autoproxy/>
```
3. 在需要进行切面编程的类中,添加@Aspect注解:
```java
@Aspect
public class UserService {
public void saveUser() {
System.out.println("Save user");
}
}
```
这样,在UserService的saveUser方法执行前后,LogAspect中定义的before和after方法就会被执行。
需要注意的是,使用AspectJ实现AOP需要在编译时进行编织,因此需要使用特定的编译器或插件来进行处理。
阅读全文