日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

淺談SpringBoot如何自定義Starters

瀏覽:181日期:2022-08-12 08:42:58
目錄一、Starters原理1.1 Starters場景啟動器二、自定義Starters三、代碼步驟一、Starters原理1.1 Starters場景啟動器

1、場景需要用到的依賴是什么?

比如依賴的jar

2、如何編寫自動配置?

以WebMvcAutoConfiguration自動配置為例:

@Configuration@ConditionalOnWebApplication@ConditionalOnClass({ Servlet.class, DispatcherServlet.class,WebMvcConfigurerAdapter.class })@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10)@AutoConfigureAfter({ DispatcherServletAutoConfiguration.class,ValidationAutoConfiguration.class })public class WebMvcAutoConfiguration {public static final String DEFAULT_PREFIX = '';public static final String DEFAULT_SUFFIX = '';

@Configuration指定這是一個配置類@ConditionalOnXXX 在指定條件成立的情況下自動配置類生效

自動裝配順序在特定自動裝配Class之前 @AutoConfigureBefore在特定自動裝配Class之后@AutoConfigureAfter指定順序@AutoConfigureOrder

@Bean 給容器中添加組件@ConfigurationPropertie結合相關xxxProperties類來綁定相關的配置

@ConfigurationProperties(prefix = 'spring.mvc')public class WebMvcProperties {}

@EnableConfigurationProperties 讓xxxProperties生效加入到容器中

@Configuration@Import(EnableWebMvcConfiguration.class)@EnableConfigurationProperties({ WebMvcProperties.class, ResourceProperties.class })public static class WebMvcAutoConfigurationAdapter extends WebMvcConfigurerAdapter {}

配置自動裝配Bean:自動配置類要能加載將需要啟動就加載的自動配置類,將標注@Configuration的自動配置類配置在META?INF/spring.factories下,自動配置類就會生效

# Auto Configureorg.springframework.boot.autoconfigure.EnableAutoConfiguration=org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration,org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,

3、模式

啟動器(starter)

淺談SpringBoot如何自定義Starters

啟動器只用來做依賴導入專門寫一個自動配置模塊啟動器依賴自動配置,別人只需要引入啟動器(starters)

mybatis-spring-boot-starter 自定義啟動器名 -spring-boot-starter

二、自定義Starters

構建項目:1.先創建一個空工程

淺談SpringBoot如何自定義Starters淺談SpringBoot如何自定義Starters

2、創建兩個模塊分別是啟動器starter的maven模塊spring的初始化器創建的自動配置模塊

啟動器maven模塊

淺談SpringBoot如何自定義Starters

自定義的starters

淺談SpringBoot如何自定義Starters

淺談SpringBoot如何自定義Starters

spring的初始化器創建模塊(創建自動配置相關的模塊)

淺談SpringBoot如何自定義Starters

三、代碼步驟

在啟動器starter的pom文件中引入配置類的坐標ming-spring-boot-starter-autoconfigurer

<?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.ming.springboot</groupId> <artifactId>ming-spring-boot-starter</artifactId> <version>1.0-SNAPSHOT</version> <dependencies><dependency> <groupId>com.ming.springboot</groupId> <artifactId>ming-spring-boot-starter-autoconfigurer</artifactId> <version>0.0.1-SNAPSHOT</version></dependency> </dependencies></project>

寫一個打招呼的功能

package com.ming.springboot;/** * 打招呼的 * */public class HelloService { HelloProperties helloProperties; public HelloProperties getHelloProperties() {return helloProperties; } public void setHelloProperties(HelloProperties helloProperties) {this.helloProperties = helloProperties; } public String sayHello(String name){return helloProperties.getPrefix()+'-'+name+helloProperties.getSuffix(); }}

HelloProperties 和Helloservice 進行屬性綁定的

package com.ming.springboot;import org.springframework.boot.context.properties.ConfigurationProperties;@ConfigurationProperties(prefix = 'com.ming')public class HelloProperties { private String prefix; private String suffix; 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; }}

自動配置類

package com.ming.springboot;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;import org.springframework.boot.context.properties.EnableConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configuration@ConditionalOnWebApplication //web應用才生效@EnableConfigurationProperties(HelloProperties.class)public class HelloServiceAutoConfiguration { @Autowired HelloProperties helloProperties; @Bean public HelloService helloService(){HelloService helloService = new HelloService();helloService.setHelloProperties(helloProperties);return helloService; }}

然后將這兩個模塊安裝到maven倉庫中先安裝配置模塊因為starter模塊依賴配置模塊,別人調用我們的starter模塊就行了

淺談SpringBoot如何自定義Starters

然后將啟動器starter也裝到倉庫中,別人就可以用坐標引入了

在別的項目中引入自定義的啟動器starter

<!--引入自定義的starter--><dependency> <groupId>com.ming.springboot</groupId> <artifactId>ming-spring-boot-starter</artifactId> <version>1.0-SNAPSHOT</version></dependency>

配置application.properties

#自定義啟動器startercom.ming.prefix=一起學習com.ming.suffix=你學費了嗎

測試

@Autowired HelloService helloService; @Test public void starterTest(){String sayHello = helloService.sayHello('自定義starter');System.out.println(sayHello); }

到此這篇關于淺談SpringBoot如何自定義Starters的文章就介紹到這了,更多相關Spring Boot自定義Starters內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品少妇| 久久精品国产亚洲夜色av网站 | 色爱综合av| 国产网站在线| 97精品中文字幕| 国产成年精品| 国产麻豆久久| 91久久视频| 日韩欧美激情| 国产伦精品一区二区三区视频 | 日韩精品亚洲专区| 国产精品久久| 精品视频99| 欧美aa一级| 美女精品在线观看| 国产区精品区| 中文字幕系列一区| 日韩一区欧美二区| 国产极品嫩模在线观看91精品| 国产精选在线| 日韩在线卡一卡二| 麻豆国产91在线播放| 日韩精品一区二区三区免费观影 | 国产精品久久久久久久久妇女| 美女少妇全过程你懂的久久| 亚洲精品免费观看| 麻豆精品视频在线观看免费| 久久久国产精品一区二区中文| 丝袜美腿亚洲一区| 麻豆视频一区二区| 黑丝一区二区| 久久精品人人| 巨乳诱惑日韩免费av| 欧美精品91| 亚洲女同一区| 国产高清亚洲| 99在线精品免费视频九九视| 欧美视频二区| 不卡在线一区| 美女av一区| 亚洲免费影视| 国产v日韩v欧美v| 亚洲精品三级| 欧美日韩国产高清电影| 国产精品久久久久久久免费软件| 韩日一区二区三区| 麻豆一区二区三| 亚洲精品黄色| 不卡在线一区| 日韩欧美中文| 免费亚洲一区| 亚洲91在线| 激情综合网五月| 福利欧美精品在线| 欧美在线看片| 在线看片日韩| 欧美1区免费| 国产999精品在线观看| 视频一区日韩精品| 欧美日韩国产在线一区| 国内不卡的一区二区三区中文字幕| 综合色就爱涩涩涩综合婷婷| 色婷婷久久久| 欧美国产不卡| 日本综合视频| 丝袜美腿一区二区三区| 91看片一区| 久久精品天堂| 国产精品午夜一区二区三区| 日本大胆欧美人术艺术动态| 亚洲a一区二区三区| 精品九九久久| 国产精品草草| 91p九色成人| 中文字幕免费一区二区| 亚洲深夜影院| 亚洲一区不卡| 奶水喷射视频一区| 亚洲深爱激情| 99re国产精品| 在线一区电影| 亚洲第一精品影视| 久久久精品日韩| 久久久精品网| 1024精品久久久久久久久| 香蕉久久精品| 欧美精选一区二区三区| 一区免费在线| 国产精品日韩| 中文字幕一区二区精品区| 久久av在线| 亚洲色图综合| 日本aⅴ免费视频一区二区三区| 亚洲精品裸体| 青青草国产成人99久久| 日韩高清电影免费| 日本精品一区二区三区在线观看视频| 激情综合在线| 美女精品网站| 日韩影片在线观看| 欧美一区成人| 国产精品一国产精品| 欧美偷窥清纯综合图区| 国产精品一区二区三区四区在线观看 | 国产精品蜜月aⅴ在线| 97成人在线| 欧美一区二区三区免费看| 欧美一区免费| 久久成人av| 国产一区二区三区黄网站| 高清av不卡| japanese国产精品| 亚洲精品黄色| 美女视频一区在线观看| 一本大道色婷婷在线| 欧美va天堂在线| 亚洲资源在线| 国产精品1区| 久久蜜桃资源一区二区老牛| 国产视频一区免费看| 日本成人中文字幕在线视频| 欧美一区久久| 日韩伦理一区| 亚洲一区欧美| 国产成人精品一区二区免费看京 | 国产精品黄色| 国产精品精品| 视频一区视频二区中文字幕| 青青草伊人久久| 黄毛片在线观看| 美女国产一区| 精品国产乱码久久久久久1区2匹| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 91一区二区三区四区| 影音国产精品| 国产欧美自拍| 99久久亚洲精品蜜臀| 五月激激激综合网色播| 久久99精品久久久野外观看| 天堂日韩电影| 欧美日韩黄网站| 国产aa精品| 亚洲日本欧美| 中文字幕在线免费观看视频| 综合亚洲色图| 欧美精品高清| 国产区精品区| 免费国产自线拍一欧美视频| 久久久久观看| 久热re这里精品视频在线6| 麻豆视频久久| 日韩精品一级二级| 日韩电影二区| 久久国产视频网| 亚洲色诱最新| 亚洲风情在线资源| 久久精品xxxxx| 亚洲免费高清| 91亚洲一区| 国产精品日本一区二区不卡视频 | 欧美精选一区二区三区| 国产区精品区| 亚洲精华国产欧美| 日韩成人高清| 国产一区二区三区国产精品| 日韩精品免费一区二区夜夜嗨 | 久久av在线| 欧美精选视频一区二区| 国产亚洲精品精品国产亚洲综合| 婷婷色综合网| 色乱码一区二区三区网站| 免费成人在线视频观看| 夜鲁夜鲁夜鲁视频在线播放| 久久av免费| 日本va欧美va瓶| 国产精品腿扒开做爽爽爽挤奶网站| 成人午夜在线| 国产乱人伦精品一区| 中文一区一区三区免费在线观 | 免费观看久久av| 美女av在线免费看| 麻豆精品在线观看| 少妇精品久久久一区二区| 在线一区电影| 欧美日韩中文字幕一区二区三区| 91青青国产在线观看精品| 国产精品一区二区三区四区在线观看 | 亚洲手机在线| 国产成人精品亚洲线观看| 欧美日韩亚洲一区三区| 亚洲人成网77777色在线播放| 亚洲夜间福利| 免费一二一二在线视频| 日韩一区三区| 成人日韩精品| 久久亚洲成人| 午夜久久福利| 亚洲欧美视频一区二区三区| 国产精品女主播一区二区三区| 国产亚洲精品自拍|