9.18周报

1.配置优先级
1 | 命令行参数 > java系统属性 > propertities > yml> yaml |
2.Bean管理
- ①获取bean对象 :先@Autowired application获取bean对象,然后用getBean获取bean对象(bean对象名称默认为首字母小写)
②Bean的作用域 :默认为单例,可以用@scope(prototype) 实现每次都创建新Bean对象
③第三方Bean:第三方依赖当中提供的类交给IOC容器管理,此时要在方法上加上一个@Bean注解
- 导入工程范围外包的方法:@ComponentScan / @Import / @Enable****
3.@SpringBootApplication 注解的组成
元注解+ @SpringBootConfiguration + @EnableAutoConfiguration+ @ComponentScan
4.@Conditional
按照一定的条件进行判断,在满足给定条件后才会注册对应的bean对象到Spring的IOC容器中
3.自定义starter案例
需求
定义aliyun-oss-spring-boot-starter,完成阿里云OSS操作工具类AliyunOSSUtils的自动配置。引入起步依赖引入之后,注入AliyunOSSUtils直接使用即可
步骤
1.创建starter+autoconfig 两个模块 starter的pom文件引入autoconfig依赖。通过依赖传递,后面直接引入starter即可
2.在autoconfig导入阿里云的工具类和属性类,并导入阿里云相关依赖,使其正常使用。
3.在autoconfig新建一个AliOSSAutoConfiguration类,通过@EnableConfigurationProperties注入属性,并使用@Bean把生成后的阿里云工具类交给ioc容器管理
4.新建测试类,在yml文件配置阿里云的属性信息,然后直接注入阿里云工具类。
注意:代码写完后一直报“空指针异常”错误,转天早上发现,是因为没有执行mvn install 命令刷新本地仓库,虽然代码写对,但maven仓库并没更新….修改了一天的bug