前言
简单粗暴的说
官方提供的默认的spring boot starter中有些许依赖或者配置是我们在开发过程中
所不需要的,对此我们可以自定义一个starter,来满足我们的开发需求
首先,要知道我们并不需要创建一个springboot项目,一个maven项目远远足够了
其次,废话不多说了,直接看代码
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.su</groupId>
<artifactId>su-spring-boot-starter</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- spring boot 自动配置需要的包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>1.5.8.RELEASE</version>
</dependency>
</dependencies>
</project>
注:关于artifactId
官方命名格式为: spring-boot-starter-{name}
非官方建议命名格式:{name}-spring-boot-starter
首先,我们创建一个配置文件映射实体类
HelloServiceProperties .java
package com.su;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
* 配置文件映射实体类
* @anchor:su
* 备注:
* 1.@ConfigurationProperties:将application.properties配置文件中的
* 符合规则的配置参数映射到实体类中
* 2.preffix,该属性配置了读取参数的前缀
* 根据实体属性对应配置文件内的配置为:hello.msg
* 配置文件中不提供时则使用默认值
*/
@ConfigurationProperties(prefix="hello")
public class HelloServiceProperties {
//设置消息内容的默认值
private String msg = "World";
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
其次,我们创建一个service 来编写我们的业务逻辑
HelloService.java