# 实验2
**Repository Path**: deepduckfts/experiment2
## Basic Information
- **Project Name**: 实验2
- **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-04-09
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
实验二
课程名称:企业级开发框架专题
学期:2020春季
|
实验名称 | 利用Spring boot的自动装配特性实现动态注册组件 | 实验序号 | 二 |
|
姓 名 | 李振辉 | 学 号 | 201741404223 | 班 级 | 17软件2班 |
|
实验地点 | | 实验日期 | 2020/3/30 | 指导老师 | 黎志雄 |
|
教师评语 | *** | 实验成绩 | 评阅教师 |
| 百分制 | ** |
|
同组同学 | 无 |
## 1、 通过IntelliJ IDEA的Spring Initializr向导创建Spring Boot项目,选择添加Spring Configuration Processor依赖。
## 2、 创建一个自定义的CommandLineRunner接口的实现类。

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

## 4、 在resources->META-INF目录下创建spring.factories文件,并添加如下内容

## 5、测试运行程序,由图可知,我们自定义的自动配置类已经生效。

## 6、给自动配置类添加有效条件,步骤如下:
### 6.1利用@ConditionalOnProperty注解,添加属性条件。

### 6.2在application.properties属性文件中添加一个自定义的属性。
### 6.3当config.auto.enable=false时,运行程序自动配置类不生效
## 7、自定义的一个Bean,绑定属性值,并生成spring配置类的元数据文件。
### 7.1创建一个类,并在类上加@ConfigurationProperties注解,设置注解的prefix属性指定绑定的属性的前缀。

### 7.2在某个配置类上添加@EnableConfigurationProperties,并指定装配的属性Bean。

## 8、自定义事件发布器,配置线程池使其支持多线程异步处理事件

## 9、自定义事件类

## 10、自定义事件监听器

## 11、编写一个测试用例,检查发布事件时,是否使用了多线程异步处理。
## 12、自定义线程池,从图看出自定义线程池生效
