Spring Boot如何自定义Starter

如果我们系统中想要拥有自动配置的功能,可以自己编写一个starter (启动器),想想就觉得很酷,因为这意味着我们不仅有自己定义的自动配的功能,而且具有更通用的耦合度更低的配置。

以一个简单功能为例:浏览器发送 sayHello 请求,服务器接受请求并处理,响应 Hello 。

首先我们看下工程结构:

helloworld-spring-boot-starter-autoconfigure(以下简称autoconfigure):该模块用来实现 Helloworld 的自动配置功能,它的打包方式为 jar;

helloworld-spring-boot-starter(以下简称starter):该模块的打包方式是 jar,依赖 autoconfigure 模块,它不写任何代码,只做自动配置包的自动引入,如果要使用 helloworld 自动配置功能,只要在 pom 文件中引入 starter 模块即可:

<dependency>

<groupId>com.seagetech.spring.boot</groupId>

<artifactId>helloworld-spring-boot-starter</artifactId>

<version>0.0.1-SNAPSHOT</version>

</dependency>

1 项目工程的创建

 

1.1 创建Empty Project

 

1) 新建一个空的项目,如下图,点击Next

 

 

2) 输入项目名称以及选择项目存放路径,点击Finish

 

 

1.2 创建starter模块

 

1) 在1.1节中新建的空项目基础上新建一个Module

 

 

2) 选择Maven,点击Next

 

 

3) 输入GroupId、ArtifactId 和 Version 信息,点击Finish

 

 

4) 由于这个模块只做自动配置包的引入,所有删除 src 下的包,最终项目结构如下:

 

 

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.seagetech.spring.boot</groupId>

<artifactId>helloworld-spring-boot-starter</artifactId>

<version>1.0-SNAPSHOT</version>

</project>

 

 

1.3 创建 autoconfigure 模块

 

1) 按1.2节第1步,新建一个 Module,并选择 Spring Initializr,点击Next

 

 

2) 输入项目相关信息,如下图所示:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值