目录
二.bean的加载控制
2.1 bean的加载控制(编程式)
第一步:定义一个类,继承ImportSelector接口,在类中编写代码做bean的加载控制
第二步:定义一个配置类,并使用注解@Import加载MyImportSelector类使其成为一个bean
第三步:查看结果是否与第一步编写的代码设想的结果一致
2.2 bean的加载控制(注解式)
使用@Conditional注解的派生注解设置各种组合条件控制bean的加载。
以下只是@Conditional注解的派生注解的一小部分,开发中需要其他注解时可到网上查阅使用。
2.2.1 匹配指定类
此注解的含义是项目中存在Mouse类时,才会将Cat类加载为bean
2.2.2 未匹配指定类
当项目中存在Mouse类但不存在Wolf类时,才加载Cat类到spring容器中
2.2.3 匹配指定类型的bean
当spring容器中存在Mouse这个bean时,才加载Cat这个类到spring容器中
2.2.4 匹配指定名称的bean
当spring容器中存在bean的id为jerry时,才加载Cat这个类到spring容器中
2.2.5 匹配指定环境
当前环境必须是Web环境才加载Cat这个类到spring容器中
2.3 bean依赖的属性配置
第一步:在配置类中做如下属性配置
第二步:将业务功能bean运行需要的资源抽取成独立的属性类(******Properties),设置读取配置文件信息
第三步:定义业务功能bean,并使用@EnableConfigurationProperties注解设定使用属性类时加载bean。
CartoonCatAndMouse构造方法中代码的含义是,如果配置文件中配置了属性值,则采用配置文件中的属性值,如果没有配置文件中没有配置属性值,则采用代码中书写的默认值,这是springboot一个很重要的思想。