Spring AOP
AOP的核心是切面,它将多个类的通用行为封装成可重用的模块,该模块含有一组API提供横切的功能,在SpringAOP中,切面通过@Aspect注解,也可以使用XML配置。动态代理不会去修改字节码,而是在内存中临时为方法生成一个AOP对象,这个AOP对象包含了目标对象的全部方法,并且在特定的切点做了增强处理,并回调原对象的方法。CGLIB是一个代码生成的类库,可以在运行时动态的生成某个类的子类(通过。的方式做的动态代理,如果某个类被标记为final,无法使用CGLIB做动态代理)...