【发布时间】:2015-08-17 15:34:28
【问题描述】:
我在学习Spring AOP,有以下疑惑。
据我所知,有两种方法可以将 AOP 行为实现到 Java 应用程序中:
AspectJ:这是第一个使用字节码修改进行切面编织的原始 AOP 技术。
Spring AOP:基于 Java 的 AOP 框架与 AspectJ 集成,使用动态代理进行方面编织。
我的疑问是:Spring AOP 是一个与 AspectJ 集成的 AOP 框架究竟意味着什么?所以它反过来使用AspectJ?还是什么?
第二个疑问与Spring AOP的Spring配置有关,我知道可以这样:
1) 使用Java配置类:
@Configuration
@EnableAspectJAutoProxy
@ComponentScan(basePackages=“com.example”)
public class AspectConfig {
...
}
2) 使用 XML:
<beans>
<aop:aspectj-autoproxy />
<context:component-scan base-package=“com.example” />
</beans>
所以,在这两种配置中,似乎 Spring AOP 都使用 AspectJ 因为在这些配置中我有:@EnableAspectJAutoProxy 和
具体是什么意思?
【问题讨论】:
标签: java spring aop aspectj spring-aop