添加组件使用到的常用注解,@Configuration,@Bean,@Import,@Conditional,@ImportResource,@ConfigurationProperties,@EnableConfigurationProperties
    
- @Configuration:
- 是一个配置类
 
- 本身也是一个组件
 
proxyBeanMethods属性:
- 决定这个bean是否代理
 
- 值为true时,springboot会检查这个组件是否在容器(Full模式)
 
- 默认为true,反之为Lite模式(轻量级)
 
- 可以保持组件的单实例
 
 
 
- @Bean
- 在方法上给容器注册组件,默认是单实例
 
- 方法名是组件id
 
- 返回类型是组件类型
 
- 返回值是组件实例
 
 
@Configuration(proxyBeanMethods = true)
public class MyConfig {
    @Bean
    public User user01(){
        return new User("zhangsan",18);
    }
}
- @Import
@Import({User.class,DBHelper.class})
- 在类前使用
 
- 为组件自动创建某种类型的组件
 
- 默认是组件名是全类名
 
 
- @Conditional
@ConditionalOnBean(name="tom")
- 条件装配,即满足条件时进行组件注入
 
- 在类前/方法前都可使用
 
 
- @ImportResource
@ImportResource("classpath:beans.xml")
 
- @ConfigurationProperties
@ConfigurationProperties(prefix="mycar")
- 在JavaBean类前
 
- 绑定配置文件中的值
 
- prefix属性指定跟配置文件中的哪个属性绑定
 
- 注意:JavaBean要添加
@Component 
 
- @EnableConfigurationProperties
@EnableConfigurationProperties(Car.class)
- 在配置类前
 
- 开启类的配置绑定功能,将组件自动注册到容器中