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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

淺談SpringBoot如何自定義Starters

瀏覽:180日期:2022-08-12 08:42:58
目錄一、Starters原理1.1 Starters場(chǎng)景啟動(dòng)器二、自定義Starters三、代碼步驟一、Starters原理1.1 Starters場(chǎng)景啟動(dòng)器

1、場(chǎng)景需要用到的依賴是什么?

比如依賴的jar

2、如何編寫自動(dòng)配置?

以WebMvcAutoConfiguration自動(dòng)配置為例:

@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指定這是一個(gè)配置類@ConditionalOnXXX 在指定條件成立的情況下自動(dòng)配置類生效

自動(dòng)裝配順序在特定自動(dòng)裝配Class之前 @AutoConfigureBefore在特定自動(dòng)裝配Class之后@AutoConfigureAfter指定順序@AutoConfigureOrder

@Bean 給容器中添加組件@ConfigurationPropertie結(jié)合相關(guān)xxxProperties類來(lái)綁定相關(guān)的配置

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

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

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

配置自動(dòng)裝配Bean:自動(dòng)配置類要能加載將需要啟動(dòng)就加載的自動(dòng)配置類,將標(biāo)注@Configuration的自動(dòng)配置類配置在META?INF/spring.factories下,自動(dòng)配置類就會(huì)生效

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

3、模式

啟動(dòng)器(starter)

淺談SpringBoot如何自定義Starters

啟動(dòng)器只用來(lái)做依賴導(dǎo)入專門寫一個(gè)自動(dòng)配置模塊啟動(dòng)器依賴自動(dòng)配置,別人只需要引入啟動(dòng)器(starters)

mybatis-spring-boot-starter 自定義啟動(dòng)器名 -spring-boot-starter

二、自定義Starters

構(gòu)建項(xiàng)目:1.先創(chuàng)建一個(gè)空工程

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

2、創(chuàng)建兩個(gè)模塊分別是啟動(dòng)器starter的maven模塊spring的初始化器創(chuàng)建的自動(dòng)配置模塊

啟動(dòng)器maven模塊

淺談SpringBoot如何自定義Starters

自定義的starters

淺談SpringBoot如何自定義Starters

淺談SpringBoot如何自定義Starters

spring的初始化器創(chuàng)建模塊(創(chuàng)建自動(dòng)配置相關(guān)的模塊)

淺談SpringBoot如何自定義Starters

三、代碼步驟

在啟動(dòng)器starter的pom文件中引入配置類的坐標(biāo)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>

寫一個(gè)打招呼的功能

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 進(jìn)行屬性綁定的

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; }}

自動(dòng)配置類

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應(yīng)用才生效@EnableConfigurationProperties(HelloProperties.class)public class HelloServiceAutoConfiguration { @Autowired HelloProperties helloProperties; @Bean public HelloService helloService(){HelloService helloService = new HelloService();helloService.setHelloProperties(helloProperties);return helloService; }}

然后將這兩個(gè)模塊安裝到maven倉(cāng)庫(kù)中先安裝配置模塊因?yàn)閟tarter模塊依賴配置模塊,別人調(diào)用我們的starter模塊就行了

淺談SpringBoot如何自定義Starters

然后將啟動(dòng)器starter也裝到倉(cāng)庫(kù)中,別人就可以用坐標(biāo)引入了

在別的項(xiàng)目中引入自定義的啟動(dòng)器starter

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

配置application.properties

#自定義啟動(dòng)器startercom.ming.prefix=一起學(xué)習(xí)com.ming.suffix=你學(xué)費(fèi)了嗎

測(cè)試

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

到此這篇關(guān)于淺談SpringBoot如何自定義Starters的文章就介紹到這了,更多相關(guān)Spring Boot自定義Starters內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产一区二区三区亚洲| 成人自拍av| 久久青草久久| 国产一区二区视频在线看| 午夜欧美理论片| 高清av不卡| 日韩一区自拍| 国产99亚洲| 久久成人一区| 亚洲精品一二三**| 国产色99精品9i| 国产成人免费av一区二区午夜| 亚洲精品福利电影| 国产一区二区中文| 日日摸夜夜添夜夜添国产精品| 国产亚洲欧美日韩在线观看一区二区| 久久99久久人婷婷精品综合| 国产在线看片免费视频在线观看| 欧美丝袜一区| 欧美日韩视频一区二区三区| 蜜臀av国产精品久久久久| 国产亚洲一区| 欧美韩日一区| 亚洲欧美日韩专区| 国产高清视频一区二区| 日韩欧美少妇| 蜜臀av在线播放一区二区三区| 国产日本亚洲| 天堂网av成人| 日本在线成人| 麻豆网站免费在线观看| 国产视频一区免费看| 国产日韩精品视频一区二区三区| 特黄毛片在线观看| 欧美国产91| 欧美一区激情| 欧美一区二区三区高清视频| 日韩不卡一二三区| 久久精品国产99久久| 18国产精品| 欧美日韩国产高清电影| 国产精品激情电影| 不卡中文一二三区| 麻豆精品久久| 欧美专区18| 色婷婷亚洲mv天堂mv在影片| 丝袜a∨在线一区二区三区不卡| 红杏一区二区三区| 亚洲精品乱码久久久久久蜜桃麻豆| 精品国产乱码久久久久久1区2匹| 在线精品福利| 亚洲小说欧美另类婷婷| 国产精品二区影院| 亚洲欧美日本日韩| 人在线成免费视频| 欧美日韩亚洲一区| 好看不卡的中文字幕| 国产一区二区三区亚洲综合| 视频一区中文字幕精品| 欧美福利在线| 正在播放日韩精品| 国产精品视频一区二区三区四蜜臂| 亚洲中字黄色| 欧美国产91| 日韩精品电影| 成人免费一区| 国产精品扒开腿做爽爽爽软件| 亚洲一二三区视频| 欧美日韩四区| 久久在线免费| 日韩免费av| 国产成人精品亚洲线观看| 国产精品嫩模av在线| 日韩av一区二| 亚洲三级网址| 免费观看在线综合| 99香蕉国产精品偷在线观看| 国产一区欧美| 亚洲午夜在线| 欧美三区四区| 高清一区二区三区av| 精品国产一区二区三区2021| 国产精品白丝一区二区三区| 国产精品自拍区| 国产精品久久久久9999高清| 欧美日韩亚洲国产精品| 日韩av黄色在线| 欧美日韩xxxx| 国产麻豆一区| 国产劲爆久久| 韩国一区二区三区视频| 精品久久福利| 中文字幕在线免费观看视频| 国产aⅴ精品一区二区三区久久| 国产精品久久久亚洲一区| 国产视频网站一区二区三区| 欧美国产日本| 九九九精品视频| 国产不卡一区| 国产精品99一区二区三| 日韩在线欧美| 91九色精品| 在线精品亚洲| 国产日韩高清一区二区三区在线| 国产精品白丝久久av网站| 久久精品国产999大香线蕉| 丁香婷婷久久| 久久精品国产99久久| 国产视频一区三区| 蜜臀精品一区二区三区在线观看| 日韩久久99| 精品国产一区二| 日韩欧美一区二区三区免费观看| 91精品综合| 在线免费观看亚洲| 欧美偷窥清纯综合图区| 精品色999| 欧美高清不卡| 亚洲一区二区小说| 国产欧美一区二区色老头| 久久精品欧洲| 亚洲福利久久| 色狠狠一区二区三区| 久久99免费视频| 亚洲一级少妇| 久久国产66| 国产精品一级在线观看| 亚洲国产福利| 亚洲视频国产| 精品72久久久久中文字幕| 91成人超碰| 欧美精品观看| 99久久久久国产精品| 日本成人一区二区| 亚洲风情在线资源| 亚洲一区二区日韩| 精品美女在线视频| 在线日韩欧美| 欧美私人啪啪vps| 欧美日韩视频免费观看| 日韩在线一区二区| 97视频热人人精品免费| 亚洲免费婷婷| 国产精品v一区二区三区| 亚洲手机在线| 久久不见久久见国语| 亚洲欧洲日本mm| 欧美国产另类| 国产视频亚洲| 国产一区二区精品福利地址| 亚洲一区二区三区高清不卡| 精品国产一区二区三区av片| 久久av在线| 久久影院午夜精品| 视频一区欧美精品| 韩国久久久久久| 日本久久一区| 激情五月综合| 精品久久视频| 日韩欧美高清一区二区三区| 私拍精品福利视频在线一区| 欧美在线看片| 先锋亚洲精品| 国产精品久久久久av电视剧| 欧美日一区二区三区在线观看国产免| 99国产精品一区二区| 国产精品美女午夜爽爽| 日本大胆欧美人术艺术动态| av在线日韩| 国产精品一区亚洲| 视频一区二区国产| 香蕉久久99| 中文字幕人成乱码在线观看| 欧美一区久久| 中文字幕日韩高清在线| 99精品在线| 中文在线资源| 国产一区调教| 国产伦精品一区二区三区在线播放| 亚洲中午字幕| 亚洲国产不卡| 久久精品影视| 最新中文字幕在线播放| 国产精品宾馆| 日本不卡的三区四区五区| 欧美日韩激情| 久久蜜桃精品| 日韩一区二区在线免费| 美女视频网站久久| 国产欧美日韩一区二区三区四区| 亚洲欧美日韩精品一区二区| 亚洲精品午夜av福利久久蜜桃| 久久久久免费| 精品中文字幕一区二区三区四区| 日韩高清一区在线| 亚洲精品裸体| 视频一区视频二区中文字幕| 亚洲激情二区| 樱桃成人精品视频在线播放| 久久国际精品|