东莞理工学院网络空间安全学院
实验名称
:实验二 利用Spring boot的自动装配特性实现动态注册组件 实验序号
:二
姓名
:叶薰馥 学号
:201841413237 班级
:18网工2班
实验地址
: 实验日期
:2020-10-19 同组同学
:无
指导老师
:黎志雄 教师评语
: 实验成绩
:
1、 掌握Spring Boot的自动配置原理;
2、 掌握Spring框架动态注册Bean的原理;
3、 掌握自动生成元数据文件。
4、 掌握spring框架的事件模型。
1、 JDK 1.8或更高版本
2、 Maven 3.6+
3、 IntelliJ IDEA
1、通过IntelliJ IDEA的Spring Initializr向导创建Spring Boot项目;
创建项目
添加 Spring Configuration Processor 依赖
2、创建一个自定义的CommandLineRunner接口的实现类;
创建CustomCommandLineRunner类,实现CommandLineRunner
3、创建一个自定义的自动配置类;
创建AutoConfig自动配置类
4、创建spring.factories文件;
创建spring.factories文件,并指定它的值为刚才自定义的自动配置类的全限定类路径的类名
测试运行程序,运行结果显示我们自定义的自动配置类已经生效
5、给自动配置类添加有效条件;
利用@ConditionalOnProperty注解,添加属性条件
在application.properties属性文件中添加一个自定义的属性
切换属性值为true,自动装配的配置类生效
切换属性值为false,自动装配的配置类失效
6、自定义的一个Bean,绑定属性值,并生成spring配置类的元数据文件;
创建一个CustomProperties类,并在类上加@ConfigurationProperties注解,设置注解的prefix属性指定绑定的属性的前缀。
在AutoConfig配置类上添加@EnableConfigurationProperties,并指定装配的属性Bean。
编译打包项目。观察target目录下的元数据文件
回去编辑属性文件时,只要输入属性的部分关键字,idea会自动提示
7、根据阅读框架源码,我们可以自定义一个事件发布器,并设置线程池,实现异步发布事件;
自定义的事件发布器
自定义事件类
自定义事件监听器
编写一个测试用例,检查发布事件时,是否使用了多线程异步处理
运行单元测试结果,显示成功使用了多线程异步处理
8、自定义 ApplicationReadyEvent 的事件监听器。
自定义一个ApplicationReadyEvent的事件监听器
终端显示输出的指定信息是在CommandLineRunner的输出信息之后
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。