https://blog.csdn.net/long476964/article/details/80626930
从上面链接,可以看到,虽然Component注解也会当做配置类,但是并不会为其生成CGLIB代理Class,所以在生成Driver对象时和生成Car对象时调用car()方法执行了两次new操作,所以是不同的对象。
(1)、此处用component,对sSOInterceptor来说,采用自动注入的方式,那么上图的ssoConfig,userAuthTokenRequest,也会被注入
(2)、此处用component,对sSOInterceptor来说,采用新建的方式,那么上图的ssoConfig,userAuthTokenRequest,就不会被自动注入,全为空
(3)、此处用configuration,对sSOInterceptor来说,采用新建的方式,那么上图的ssoConfig,userAuthTokenRequest,也会被自动注入
总结:对configuration来说,对new新建也会采用cgLib的方式实现注入。
但无论configuration或者component来说,都可以用@Scope控制bean的生命周期
例如:@Scope(value= WebApplicationContext.SCOPE_REQUEST,proxyMode = ScopedProxyMode.TARGET_CLASS)
原文:https://www.cnblogs.com/pengzhong2007/p/11096050.html