自定义 spring-boot-starter
- springboot规定一般官网的包名为 spring-boot-start-xxx (spring-boot-start-web)
- 个人或者第三方命名规则为:xxx-spring-boot-start (pagehelper-spring-boot-start)
仿照 pageHelper创建 springboot包
当前为可引入jar包,我们创建maven创建项目; springboot 项目默认打包jar为 可执行文件,如果要更改成 可引入jar包,则需要更改为
org.springframework.boot
spring-boot-maven-plugin
exec
详细内容不多解释自行查看
普通的包结构信息
//pageHelper 引入包结构为
-
|- pagehlper.jar
|- pagehelper-spring-boot-autoconfigure.jar
|- pagehelper-spring-boot-starter.jar
//自定义包结构为
- white-spring-boot
|- white-spring-boot-autoconfigure 自动配置类
|- white-spring-boot-starter 加载类
|- white-core 核心逻辑
white-spring-boot-starter
当前为空项目,主要内容新增文件
resources/META-INF/spring.provides
pageHelper 中引用的是如下,
provides: pagehelper-spring-boot-autoconfigure,pagehelper,mybatis-spring-boot-autoconfigure,mybatis,mybatis-spring
仿照写
white-spring-boot-starter 中引用的是
provides: white-core, white-spring-boot-autoconfigure
white-spring-boot-autoconfigure
仿照pagehelper-spring-boot-autoconfigure
创建启动加载文件
resources/META-INF/spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.apple.WhiteAutoConfiguration
创建com.apple.WhiteAutoConfiguration
@Configuration
@EnableConfigurationProperties(WhiteProperties.class)
public class WhiteAutoConfiguration {
}
@ConfigurationProperties(prefix = "white")
@Getter
@Setter
public class WhiteProperties {
private Properties properties = new Properties();
public Properties getProperties() {
return this.properties;
}
private String userName;
private Integer age;
}
源码 github