• fullmoon
    2021-04-04
    小马哥,@Configuration 注解标注的 Bean 会被 CGLIB 提升,也就是会新生成一个 Class 对象(子类),在 AstractAutoProxyCreator 自动代理过程中,如果这个 Bean 需要进行 AOP 代理,这里又会创建一个代理对象(其子类),那么前面的 @Configuration 注解起到了什么作用呢?

    作者回复: 原理是这样的,@Configuration 标注的 Class 不一定进过 AstractAutoProxyCreator 来创建代理类,然而它可能被识别为拦截对象,所以 @Configuration 处理类 ConfigurationClassPostProcessor 会将标注 @Configuration Class 提升为 CGLIB 代理,这样更容易被识别

    
    