spring自动扫描

    在spring中我们通过在xml中定义bean来配置组件。如果项目中的组件比较多,如果采用在xml文件中来定义这些bean,那么xml配置文件的体积就会越来越大。虽然可以使用 annotation 来进行注入,维护bean之间的依赖关系,不必在xml中进行配置,少了依赖关系的配置,但bean还是以要在xml中定义,这样xml文件依然是一种增量式的配置。

CGLib动态代理原理及实现【转】

JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。JDK动态代理与CGLib动态代理均是实现Spring AOP的基础。