# SpringBootTest2
**Repository Path**: GooGa/spring-boot-test2
## Basic Information
- **Project Name**: SpringBootTest2
- **Description**: No description available
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-10-26
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

3. 创建一个自定义的自动配置类。

4. 创建spring.factories文件。

测试运行程序:

5. 给自动配置类添加有效条件。
a. 利用 @ConditionalOnProperty 注解,添加属性条件。

b. 在application.properties属性文件中添加一个自定义的属性。
c. 切换属性值false/true,观察终端的显示,判断自动装配的配置类是否生效。
6. 自定义的一个Bean,绑定属性值,并生成spring配置类的元数据文件。
a. 创建一个类,并在类上加@ConfigurationProperties注解,设置注解的prefix属性指定绑定的属性的前缀。
b. 在某个配置类上添加@EnableConfigurationProperties,并指定装配的属性Bean。
c. 使用spring boot框架提供的注解处理器生成自定义属性的元数据文件。
说明:
Spring Boot应程序打包后的jar文件中包含元数据文件,这些文件提供了所有受支持的配置属性的详细信息。这些文件旨在让IDE开发人员在编辑application.properties或
application.yml文件时提供上下文帮助和“代码完成” 。Interllj IDEA默认支持。
元数据文件位于META-INF目录下,名字spring-configuration-metadata.json。
元数据文件可以自己写,或使用spring boot官方提供的依赖包自动生成。
在pom.xml文件中引入spring-boot-configuration-processor依赖。这个依赖包里有spring boot提供的注解处理器,在项目编译时检查项目内所有@ConfigurationProperties
的类,并生成元数据文件。
a. 在pom.xml文件中引入spring-boot-configuration-processor依赖:

b. 编译打包项目。观察target目录下的元数据文件:

c. 现在我们再回去编辑属性文件时,只要输入属性的部分关键字,idea会自动提示,如下图:

7. 根据阅读框架源码,我们可以自定义一个事件发布器,并设置线程池,实现异步发布事件。
a. 自定义的事件发布器。

b. 自定义事件类。

c. 自定义事件监听器。

d. 编写一个测试用例,检查发布事件时,是否使用了多线程异步处理。

e. 测试结果:

8. 自定义 ApplicationReadyEvent 的事件监听器

测试结果:
