可能重复:
Spring AOP vs AspectJ
我正在阅读春季参考文件。因为它是写的
我没有得到上述三点的含义而因此感到困惑。请用简单的例子详细说明。
答案 0 :(得分:3)
AFAIK Spring AOP不支持AspectJ的所有功能,但仅支持有限的设置。 例如,Spring AOP仅支持方法级切入点,因此如果您需要精细控制(即字段级别),则需要本机使用AspectJ。
答案 1 :(得分:2)
你的第一点只是传达你只能在方法级别上应用切入点,在spring-aop中没有实现字段拦截。
下一点告诉你不能在域对象(简单的pojo实体)上添加建议,
最后一个是关于编织,编织是将Aspects连接到Spring XML文件中的对象,就像JavaBean一样。或者简单地说,编织是为了向你的java类添加新的字节码以使其可用于框架。
答案 2 :(得分:0)
还有更重要的区别 - AspectJ可以在编译时注入AOP东西(例如使用aspectj maven pluging),只在运行时根据spring的版本使用cglib或javasist弹出AOP。但是一般来说你更喜欢弹簧AOP - 只是因为它更容易......