@Component、@Bean、@Configuration的联系

在spring中带有@Component 注解的类表名该类是一个组件类。spring采用基于注解和类路径扫描的方式时,这些组件类就会被自动检测到。@Bean用于注解一个方法表示该方法将会产生一个bean,该bean会被spring容器管理。
@Configuration注解的类表示可以在类中申明一个或者多个@Bean方法,然后就可以有spring容器来处理:在运行的时候为这些@Bean方法生成的bean提供bean的定义以及服务请求

被Component注解的类,会被装载到spring容器中,其他的类就可以调用它,但是并不会为其生成CGLIB代理Clas,所以每次调用都是需要new一个新的对象。而@Configuration注解的配置类,生成当前对象的子类Class,并对方法拦截,第二次调用其中的方法时直接从BeanFactory之中获取对象,所以得到的是同一个对象,保持单例模式。

你可能感兴趣的:(java填坑,spring,java,后端)