[spring]springboot中的starter

众所周知,springboot不是一个新的框架,而是基于spring和springMVC之上的一种产物,方便程序员快速的开发spring相关的应用程序。 springboot的特性之一就是 自动配置,通过常用并且是约定的配置,屏蔽掉过多的样板代码或,使框架与spring快速整合成为可能。

自定义starter的命名规范

spring官方开发的starter是:spring-boot-starter-xxx,我们自定义的命名规范是:xxx-spring-boot-starter,这里以mybatis为例:

包含的两个项目

  1. xxx-spring-boot-starter这个项目,这个项目实际上是空壳子,只引用第二个项目
  2. xxx-spring-boot-aotuconfigure 项目,这里项目包含了需要自动装配的代码,并且包名也是有推荐
xxx.spring.boot.aotuconfigure

编写支持yml和properties配置的java pojo

以xxxProperties命名 简单的不能在简单的pojo,需要注意有些成员变量 生成get 或者set方法 不正确,例如:isXXX …

最后在类上标注 @ConfigurationProperties注解

编写自动配置类

命名规范:xxxAutoConfiguration 类上标注@EnableConfigurationProperties注解,@EnableConfigurationProperties和@ConfigurationProperties会生成spring-configuration-metadata.json 这是方便ide能够提示你的重要文件

具有限定条件的自动配置类

添加spring.factories文件

这个文件需要自己建立,文件名:spring.factories,位置/META-INF/下, 文件内容: 多个自动配置类需要以逗号分隔…

经验分享 程序员 微信小程序 职场和发展