中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot 中怎么自定義starter

發布時間:2021-06-22 14:33:40 來源:億速云 閱讀:184 作者:Leah 欄目:大數據

本篇文章為大家展示了SpringBoot 中怎么自定義starter,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1 先創建一個空項目(自己起名字)

SpringBoot 中怎么自定義starter

2 在1步驟中創建的空項目中創建兩個模塊,創建方式如下圖所示 SpringBoot 中怎么自定義starter

1)創建啟動器模塊用maven項目我的啟動器名稱為 mao-spring-boot-starter

 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.mao.starter</groupId>

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

<version>1.0-SNAPSHOT</version>

<!-- 啟動器-->

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	
    <java.version>1.8</java.version>
	
</properties>

<dependencies>

     <!-- 引入自動配置模塊-->
	 
    <dependency>
	
        <groupId>com.mao-starter</groupId>
		
    <artifactId>mao-spring-boot-starter-autoconfigurer</artifactId>
	
    <version>0.0.1-SNAPSHOT</version>
	
    </dependency>
	
	</dependencies>

</project>

2) 創建自動配置模塊,我創建的名字為:mao-spring-boot-starter-autoconfigurer如下圖所示
![](https://oscimg.oschina.net/oscnet/b7c0a779402394cb5783f3f2eae7a5ce0bc.jpg)

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>

<parent>

    <groupId>org.springframework.boot</groupId>
	
    <artifactId>spring-boot-starter-parent</artifactId>
	
    <version>1.5.21.RELEASE</version>
	
    <relativePath/> <!-- lookup parent from repository -->
	
</parent>

<groupId>com.mao-starter</groupId>

<artifactId>mao-spring-boot-starter-autoconfigurer</artifactId>

<version>0.0.1-SNAPSHOT</version>

<name>mao-spring-boot-starter-autoconfigurer</name>

<description>Demo project for Spring Boot</description>

<properties>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	
    <java.version>1.8</java.version>
	
</properties>

<!-- 所有要引入的基本配置-->

<dependencies>

    <dependency>
	
        <groupId>org.springframework.boot</groupId>
		
        <artifactId>spring-boot-starter</artifactId>
		
    </dependency>
	
</dependencies>

</project>

3 創建如下圖的3個類

SpringBoot 中怎么自定義starter

helloProperties.java //屬性類

package com.maostarter.mao;

import org.springframework.boot.context.properties.ConfigurationProperties;

@ConfigurationProperties(prefix = "map.hello")

public class helloProperties {

public String prefix;

public String getPrefix() {

    return prefix;
}
public void setPrefix(String prefix) {

    this.prefix = prefix;
}

public String getSuffix() {

    return suffix;
}
public void setSuffix(String suffix) {

    this.suffix = suffix;
	
}

private String suffix;

}

HelloService.java //向外提供服務的類

public class HelloService {

helloProperties helloPropertie;

public helloProperties getHelloPropertie() {

    return helloPropertie;
}

public void setHelloPropertie(helloProperties helloPropertie) {

    this.helloPropertie = helloPropertie;
}

public String sayHelloMao(String name){

    return helloPropertie.getPrefix()+'*'+name+helloPropertie.getSuffix();
}

}

helloServiceAutoConfiguration.java //服務自動注入類

@Configuration

@ConditionalOnWebApplication //web應用才生效

@EnableConfigurationProperties(helloProperties.class)

public class helloServiceAutoConfiguration {

@Autowired

helloProperties helloPropertie;

@Bean

public HelloService helloService(){

    HelloService service = new HelloService();
	
    service.setHelloPropertie(helloPropertie);
	
    return  service;
}

}

4 配置spring.factories文件,如下圖創建方式

SpringBoot 中怎么自定義starter spring.factories

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\

com.maostarter.mao.helloServiceAutoConfiguration

5 如何生成starter,在這個過程有肯能出現各個問題,一般是jdk版本不對,maven版本問題,出現問題首先仔細閱讀控制臺的信息

不要一出現問題就百度

SpringBoot 中怎么自定義starter

6 測試剛剛創建的自定義starter創建個springBoot項目

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>

<parent>

    <groupId>org.springframework.boot</groupId>
	
    <artifactId>spring-boot-starter-parent</artifactId>
	
    <version>2.1.6.RELEASE</version>
	
    <relativePath/> <!-- lookup parent from repository -->
	
</parent>

<groupId>com.autostart.test</groupId>

<artifactId>autostart</artifactId>

<version>0.0.1-SNAPSHOT</version>

<name>autostart</name>

<description>Demo project for Spring Boot</description>

<properties>

    <java.version>1.8</java.version>
</properties>

<dependencies>

    <dependency>
	
        <groupId>org.springframework.boot</groupId>
		
        <artifactId>spring-boot-starter-web</artifactId>
		
    </dependency>
	
    <dependency>
	
        <groupId>com.mao.starter</groupId>
		
        <artifactId>mao-spring-boot-starter</artifactId>
		
        <version>1.0-SNAPSHOT</version>
		
    </dependency>
	
    <dependency>
	
        <groupId>org.springframework.boot</groupId>
		
        <artifactId>spring-boot-starter-test</artifactId>
		
        <scope>test</scope>
		
    </dependency>
	
</dependencies>

<build>

    <plugins>
	
        <plugin>
		
            <groupId>org.springframework.boot</groupId>
			
            <artifactId>spring-boot-maven-plugin</artifactId>
			
        </plugin>
		
    </plugins>
	
</build>

</project>

6 給之前配置的屬性文件復制 如下圖所示

SpringBoot 中怎么自定義starter

7 創建一個測試用例

@Controller

public class HelloController {

@Autowired

 HelloService helloService;
 
@ResponseBody

@RequestMapping("/hello")

public String Hello(){

    return helloService.sayHelloMao("haha");
	
}

}

8 測試結果如下圖所示

SpringBoot 中怎么自定義starter

上述內容就是SpringBoot 中怎么自定義starter,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

濮阳县| 龙山县| 乌海市| 德州市| 卢龙县| 枞阳县| 连平县| 肃宁县| 贵港市| 襄城县| 淳化县| 赣榆县| 泾阳县| 抚州市| 大关县| 新河县| 上犹县| 隆回县| 台北市| 喀喇沁旗| 巴楚县| 瓮安县| 临夏市| 库尔勒市| 财经| 龙海市| 克山县| 惠安县| 肇州县| 青浦区| 河津市| 旬邑县| 南靖县| 城步| 灵川县| 余干县| 阜新| 郴州市| 乌拉特后旗| 仪征市| 泸溪县|