我读春天的参考文件。在这写它
- 如果您需要字段访问和更新连接点,请考虑一种语言,如AspectJ。
- 有些东西你不能用Spring AOP来完成,比如建议很细粒度的对象(比如域对象),AspectJ是使用它的最好的例子。
- 什么是AspectJ编译器或编织器?
我没有得到上述三点的含义,因此感到困惑。请用简单的例子来说明。
我读春天的参考文件。在这写它
我没有得到上述三点的含义,因此感到困惑。请用简单的例子来说明。
您的第一点只是简单地表明您只能在方法级别应用切点,而不能在spring-aop中实施场截获。
下一点告诉你不能添加域对象意见(这是简单的POJO实体),
最后是关于编织,编织是各个方面的接线进入方式与Spring的XML文件中的对象JavaBean的。或者简单地说,编织就是将新的字节码添加到Java类中,以使其可用于框架。
AFAIK Spring AOP不支持AspectJ的所有功能,但只支持有限集合。例如,Spring AOP只支持方法级别的切入点,因此如果您想要细粒度控制(即字段级别),则需要本地使用AspectJ。
还有更重要的区别 - AspectJ可以在编译时注入AOP东西(例如使用aspectj maven pluging),仅在运行时使用cglib或javasist根据spring的版本来注入AOP。不过,一般情况下,您宁愿选择弹簧AOP - 仅仅因为它更容易...