在SpringBoot中使用Aspect,可以通過以下步驟實現:
@Aspect
@Component
public class MyAspect {
@Before("execution(* com.example.service.*.*(..))")
public void beforeAdvice() {
// 在方法執行前執行的邏輯
}
@After("execution(* com.example.service.*.*(..))")
public void afterAdvice() {
// 在方法執行后執行的邏輯
}
}
@SpringBootApplication
@EnableAspectJAutoProxy
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
spring.aop.auto=true
spring.aop.proxy-target-class=true
spring.aop.order=0
@Service
public class MyService {
public void doSomething() {
// 業務邏輯
}
}
通過以上步驟,就可以在SpringBoot中使用Aspect實現AOP功能。Aspect可以通過@Before、@After、@Around等注解定義通知,通過切點表達式定義切點。在應用程序運行時,AspectJ會根據定義的切面類和切點自動將通知織入到對應的方法中。