Spring @Configuration 和 @Component 区别

1.@Configuration 和 @Component 区别

我们可以看下,其实@Configuration 本质其实是 @Component注解的,因此  和@ComponentScan都能处理@Configuration 类


被@Configuration 标记的类必须符合下面几点要求

1.配置类必须是要以类的形式提供,不能是工厂返回的实例,允许生成子类在运行是增强cglib动态代理

2配置类不能是fanl 修饰,不能是匿名类( 任何嵌套的类必须是非本地, 既不能在方法中声明,不能是privater),嵌套的configruation必须是静态类

3.@Bean 方法可能不会返过来创建进一步的配置类 意思就是返回的bean 带有@Configuration.也只是当作普通类来处理。

原理分析待续····························



2.@Configuration 和 @bean

这里@Configuration可以看作是用spring的时候xml里面的标签

@Bean可以理解为用spring 的时候里面标签

这两个注解是spring 里面的,并不是spring boot里面的

在spring xml 这种形式的项目的时候 后面都要加上 ,有时候好多注解不起作用, 可能就是这个注解。而在spring boot里面就不一样了, 只要保证main方法的入口在这些的列的上层包就行

你可能感兴趣的:(Spring @Configuration 和 @Component 区别)