springboot 扫描文件夹_Spring Boot学习07_自定义starter
查看Spring Boot的源码,starter包并没有真正的代码,代码都在autoconfigurer包中,所以我也可以照葫芦画瓢,创建一个starter项目和一个autoconfigurer项目,在autoconfigurer项目中写自动配置类,在starter项目中依赖autoconfigurer项目,到时候别人用就直接引入starter的坐标就能使用我自定义的starter了
Mybatis的starter与autoconfigurer也是自己写的,所以我们的命名方式可以根据它这样来定义为ahead-spring-boot-starter,ahead-spring-boot-starter-autoconfigurer
1、创建一个普通的maven工程,打包方式为jar,名称为ahead-spring-boot-starter
2、创建一个Spring boot应用,命名为ahead-spring-boot-starter-autoconfigurer,不需要添加任何组件,只保留默认的spring-boot-starter依赖就行,删除自带的maven插件,最终的pom文件如下
3、编写自定义的starter
我在前面就写过SpringBoot的配置原理,通过全局配置文件中的值与xxxProperties属性映射并添加到组件中去,在配置类中就能获取到xxxProperties对象并获取其中的属性值设置给某些组件的属性,最后在classpath路径下的META-INF文件夹下的spring.factories文件中指定需要自动配置的类,就会被SpringBoot读取到,达到了自动配置的效果
3.1、创建HelloProperties类并指定与全局配置文件中的那个下面的属性进行映射
3.2、编写HelloService组件
3.3、编写HelloAutoConfiguration自动配置类,并注册HelloService组件
3.4、在classpath下的META-INF文件夹下的spring.factories文件指定要自动配置的类(之前用@Configuration注解标注的配置类因为在Spring Boot主配置类的扫描范围内,而这里的扫描不到,就需要在文件中指定自动配置类的位置,这样Spring Boot就能获取到)
3.5、在starter项目中引入autoconfigurer项目的坐标,并通过maven命令先打包
ahead-spring-boot-starter-autoconfigurer项目在打包ahead-spring-boot-starter项目
4、编写一个Spring Boot应用进行测试
4.1、引入自定义的starter
4.2、在全局配置文件中指定HelloProperties中的name属性值
4.3、编写HelloController并启动应用通过浏览器访问测试。
4.4、自动配置成功
springboot 扫描文件夹_Spring Boot学习07_自定义starter相关推荐
- 扫描java类文件_java递归与非递归实现扫描文件夹下文件的实例代码
java递归与非递归实现扫描文件夹下所有文件 java扫描指定文件夹下面的所有文件,供大家参考,具体内容如下 扫描一个文件夹下面的所有文件,因为文件夹的层数没有限制可能多达几十层几百层,通常会采用两种 ...
- java 多线程 扫描,多线程扫描文件夹耗时方法分析
在这里Java的方法中有线程递归,不懂得用什么方法求运行时间遇到一个有趣的问题,多线程扫描文件夹求运行时间.一般这种扫描文件夹耗时好像都是用的递归遍历一下进行计时,头一次看到这种一个文件夹一个线程的, ...
- Win10怎么使用Windows Defender扫描文件夹中的恶意软件?
Windows 10 附带一个名为 Windows Defender 的免费内置防病毒程序,可提供实时保护并能够对您的计算机执行扫描. 它还允许您执行自定义扫描,让您指定要扫描恶意软件的特定文件夹或驱 ...
- C#递归扫描文件夹中的文件
为什么80%的码农都做不了架构师?>>> 本例是递归扫描文件夹中文件,并将文件夹的文件信息,全部显示到listview控件中,一下是源代码 /// <summary> ...
- java 递归扫描文件夹_java扫描文件夹下面的所有文件(递归与非递归实现)
java中扫描指定文件夹下面的所有文件 扫描一个文件夹下面的所有文件,因为文件夹的层数没有限制可能多达几十层几百层,通常会采用两种方式来遍历指定文件夹下面的所有文件. 递归方式 非递归方式(采用队列或 ...
- springboot pom文件指定jdk_Spring Boot 入门
SpringBoot 基本应用 约定优于配置 约定优于配置(Convention over Configuration),又称按约定编程,是一种软件设计范式. 本质上是说,系统.类库或框架应该假定合理 ...
- springboot开启debug日志_Spring Boot SLF4J日志实例(五十)
默认情况下,SLF4j日志记录包含在Spring Boot Web应用程序中,只需要启用它就可以了. 注意:查看此Spring Boot Logback XML模板以了解默认的日志记录模式和配置. S ...
- 扫描文件夹_按下苹果手机这个键,立马变身成为扫描仪,你不会还不知道吧?...
苹果手机在我国比较热销的一款手机,它不仅性能强大,系统流畅,还有许多比较实用的功能,就比如今天我们所谈及的备忘录功能,很多人只以为它仅能够用来记录事情,其实不然,它还自带扫描仪功能,纸质文档能够轻松变 ...
- Linux内核 crypto文件夹 密码学知识学习
密码算法分类 对称算法 非对称算法 消息摘要(单向哈希)算法 这些算法作为加密函数框架的最底层,提供加密和解密的实际操作.这些函数可以在内核crypto文件夹下,相应的文件中找到.不过内核模块不能直接 ...
最新文章
- MultipartFile类常用的一些方法
- 【OkHttp】OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 )
- java中接口适配器实现,12.1.8 Java中的应用-AWT事件适配器(接口的适配器模式)...
- java单例模式几种实现方式
- http 状态码 504 502
- SetupFactory安装制作心得
- MySQL面试 - 读写分离
- python能做什么excel-使用 Python 可以做什么?
- OPNET网络仿真分析-1.2、OPNET安装教程
- Numpy系列(三)常用random随机函数汇总
- 【一起学习输入法】华宇拼音输入法开源版本解析(7)
- mp4播放器带后台开源源码
- 骇客学堂:网络入侵检测初步探测方法
- 电商双十一购物节促销活动及短信营销解决方案
- 较早版本OAI ENB启动问题解决
- html5中扇形的绘制
- 看懂了再说自己是程序员哈哈
- 小白网工成长笔记之OSPF(1)
- c语言带进位循环左移,带进位循环左移指令.ppt
- PreScanCarSim联合仿真实现车道保持