最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Spring?Boot的原因解析

 更新時(shí)間:2022年07月07日 09:20:52   作者:wadfdhsajd  
Spring Boot是Spring家族的成員,它是一個(gè)全新的框架,它的設(shè)計(jì)目的是盡可能簡(jiǎn)單和快速的開(kāi)發(fā)、運(yùn)行Spring應(yīng)用程序,簡(jiǎn)化配置,這篇文章主要介紹了為什么使用Spring?Boot,需要的朋友可以參考下

為什么要使用Spring Boot?

在使用Spring框架進(jìn)行開(kāi)發(fā)的過(guò)程中,需要配置很多Spring框架包的依賴(lài),如spring-core、spring-bean、spring-context等,而這些配置通常都是重復(fù)添加的,而且需要做很多框架使用及環(huán)境參數(shù)的重復(fù)配置,如開(kāi)啟注解、配置日志等。自動(dòng)配置:spring boot能夠根據(jù)當(dāng)前類(lèi)路徑下的類(lèi),jar包來(lái)自動(dòng)配置bean,如添加一個(gè)spring-boot-starter-web啟動(dòng)器就能擁有web的功能,無(wú)需其他配置、無(wú)代碼生成和XML配置:spring boot配置過(guò)程中無(wú)代碼生成,也無(wú)XML配置就能完成所有的配置工作,這一切都是借助于條件注解完成的,這也是spring4.x的核心功能之一。 還有應(yīng)用監(jiān)控:spring boot提供一系列端點(diǎn)可以監(jiān)控服務(wù)和應(yīng)用,做健康檢查

Spring Boot是微服務(wù)的框架嗎?

Spring Boot是Spring家族的成員,它是一個(gè)全新的框架,它的設(shè)計(jì)目的是盡可能簡(jiǎn)單和快速的開(kāi)發(fā)、運(yùn)行Spring應(yīng)用程序,簡(jiǎn)化配置。它為開(kāi)發(fā)者快捷的使用Spring及相關(guān)開(kāi)發(fā)框架提供了便利,但是它并不是微服務(wù)的框架,它只是為微服務(wù)框架的使用也提供了很好的腳手架。

Spring Boot中的Starter是什么?

Spring Boot中的Starter是一個(gè)包含很多依賴(lài)描述的集合,只要添加一個(gè)Starter,這個(gè)Starter里面約定的依賴(lài)都會(huì)被添加到項(xiàng)目中,例如代碼添加了spring-boot-starter-web,執(zhí)行maven操作就會(huì)下載web應(yīng)用需要的依賴(lài)jar。開(kāi)發(fā)者通過(guò)使用這些Starter可以快速的搭建開(kāi)發(fā)環(huán)境,自動(dòng)加載所需要的依賴(lài)和配置參數(shù)屬性。

使用Spring Boot快速搭建開(kāi)發(fā)環(huán)境,是不是需要從無(wú)到有手動(dòng)搭建?

如果想快速搭建項(xiàng)目開(kāi)發(fā)環(huán)境,可以通過(guò)Spring Initializr[start.spring.io/]引導(dǎo)快速構(gòu)建項(xiàng)目。最… Java Initializr[https://start.aliyun.com/],也可以通過(guò)它的引導(dǎo)快速構(gòu)建Java項(xiàng)目。

Spring Boot中@EnableAutoConfiguration注解有什么作用?

@EnableAutoConfiguration注解從字面上理解是開(kāi)啟自動(dòng)配置,在@EnableAutoConfiguration注解的定義中使用了@Import注解,使用@Import導(dǎo)入 EnableAutoConfigurationImportSelector.class,作用等同于在Spring的xml文件中使用導(dǎo)入,查看EnableAutoConfigurationImportSelector源碼會(huì)發(fā)現(xiàn)它就是用于處理@EnableAutoConfiguration注解的,不過(guò)在Spring Boot1.5版本開(kāi)始被標(biāo)記為棄用,使用AutoConfigurationImportSelector代替,也就是它的父類(lèi),在這個(gè)類(lèi)中將在classpath下jar包中META-INF目錄下搜索spring.factories文件,然后在spring.factories文件中查找以org.springframework.boot.autoconfigure.EnableAutoConfiguration為key的值,值是一個(gè)列表,列表中記錄的是需要進(jìn)行自動(dòng)化配置的類(lèi)會(huì)被執(zhí)行,例如AopAutoConfiguration會(huì)自動(dòng)配置Aop相關(guān)配置,使用JDK代理還是CGLIB代理。

那這個(gè)自動(dòng)化配置是如何觸發(fā)的?

ConfigurationClassPostProcessor類(lèi)的postProcessBeanFactory方法中調(diào)用了ConfigurationClassParser類(lèi)的parse方法,而ConfigurationClassParser類(lèi)的parse方法間接調(diào)用了AutoConfigurationImportSelector類(lèi)。這個(gè)ConfigurationClassPostProcessor實(shí)現(xiàn)了BeanDefinitionRegistryPostProcessor接口,而B(niǎo)eanDefinitionRegistryPostProcessor繼承了BeanFactoryPostProcessor接口,熟悉Spring原理的都知道BeanFactoryPostProcessor接口中的postProcessBeanFactory方法會(huì)在Spring容器加載bean的定義文件之后,在bean實(shí)例化之前執(zhí)行,而這一步是由SpringApplication的run方法觸發(fā)的,在這個(gè)run方法中實(shí)現(xiàn)了Spring容器的啟動(dòng)及初始化。

有些開(kāi)發(fā)者會(huì)在pom.xml中繼承spring-boot-starter-parent,這樣做有什么好處?

通過(guò)繼承的方式可以很方便的進(jìn)行依賴(lài)版本管理,使用默認(rèn)的依賴(lài)版本,當(dāng)然也可以更改這些依賴(lài)的版本號(hào)。繼承 spring-boot-starter-parent可以獲取以下默認(rèn)特性: 默認(rèn)使用Java1.6進(jìn)行編譯; 默認(rèn)代碼編碼為UTF-8; 新建項(xiàng)目的pom文件可以省略依賴(lài)庫(kù)的標(biāo)簽,例如添加activemq依賴(lài)的時(shí)候,可以不寫(xiě)版本號(hào); 恰到好處的資源過(guò)濾; 恰到好處的插件配置,如exec插件; 恰到好處的對(duì)application.properties和application.yml進(jìn)行篩選。

Spring Boot中如何實(shí)現(xiàn)對(duì)不同環(huán)境的屬性配置文件的支持?

Spring-Boot支持不同環(huán)境的屬性配置文件切換,通過(guò)創(chuàng)建application-{profile}.properties文件,其中{profile}是具體的環(huán)境標(biāo)識(shí)名稱(chēng),例如: application-dev.properties用于開(kāi)發(fā)環(huán)境,application-test.properties用于測(cè)試環(huán)境,application-uat.properties用于uat環(huán)境。如果要想使用application-dev.properties文件,則在application.properties文件中添加spring.profiles.active=dev;如果要想使用application-test.properties文件,則在application.properties文件中添加spring.profiles.active=test。

打包部署都手動(dòng)修改application.properties中spring.profiles.active的值,這個(gè)問(wèn)題如何解決?

一般的做法是在項(xiàng)目路徑下建立以環(huán)境標(biāo)識(shí)名稱(chēng)為名的目錄,然后每個(gè)目錄下添加各自環(huán)境的application.properties屬性配置,在自動(dòng)打包部署的時(shí)候?qū)?duì)應(yīng)的application.properties拷貝到classpath下,這樣就實(shí)現(xiàn)了配置文件切換。

Spring Boot會(huì)自動(dòng)加載哪些路徑下的application.properties?

Spring Boot支持從以下位置加載application.properties文件:當(dāng)前目錄下的/config子目錄、當(dāng)前目錄、classpath下的/config包、classpath根路徑。

如果這四個(gè)路徑的application.properties文件中配置了某屬性,最終生效的是哪個(gè)文件里的?

最終生效的是當(dāng)前目錄下的/config子目錄下的application.properties中的配置,覆蓋順序是當(dāng)前目錄下的/config子目錄覆蓋當(dāng)前目錄,當(dāng)前目錄覆蓋classpath下的/config包,classpath下的/config包覆蓋classpath根路徑。

@SpringBootApplication注解有什么作用?

從@SpringBootApplication注解源碼可以看到它具有@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan三個(gè)注解的作用。@SpringBootConfiguration注解用于標(biāo)注Spring應(yīng)用引導(dǎo)類(lèi),在應(yīng)用啟動(dòng)的時(shí)候這個(gè)引導(dǎo)類(lèi)會(huì)被執(zhí)行;@EnableAutoConfiguration注解用于根據(jù)依賴(lài)自動(dòng)開(kāi)啟一些配置;@ComponentScan注解用于配置哪些基礎(chǔ)包或類(lèi)被自動(dòng)掃描。

到此這篇關(guān)于為什么使用Spring Boot?的文章就介紹到這了,更多相關(guān)使用Spring Boot內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IntelliJ IDEA查看方法說(shuō)明文檔的圖解

    IntelliJ IDEA查看方法說(shuō)明文檔的圖解

    今天小編就為大家分享一篇關(guān)于IntelliJ IDEA查看方法說(shuō)明文檔的圖解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • SpringBoot Aop 詳解和多種使用場(chǎng)景解析

    SpringBoot Aop 詳解和多種使用場(chǎng)景解析

    aop面向切面編程,是編程中一個(gè)很重要的思想本篇文章主要介紹的是SpringBoot切面Aop的使用和案例,對(duì)SpringBoot Aop相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧
    2021-08-08
  • 為什么說(shuō)要慎用SpringBoot @ComponentScan

    為什么說(shuō)要慎用SpringBoot @ComponentScan

    本文主要介紹了為什么說(shuō)要慎用SpringBoot @ComponentScan,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • ssm實(shí)現(xiàn)分頁(yè)查詢(xún)的實(shí)例

    ssm實(shí)現(xiàn)分頁(yè)查詢(xún)的實(shí)例

    下面小編就為大家?guī)?lái)一篇ssm實(shí)現(xiàn)分頁(yè)查詢(xún)的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • zookeeper集群搭建超詳細(xì)過(guò)程

    zookeeper集群搭建超詳細(xì)過(guò)程

    這篇文章主要介紹了zookeeper集群搭建超詳細(xì)過(guò)程,本文對(duì)zookeeper集群測(cè)試通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • SpringMVC @RequestBody屬性名大寫(xiě)字母注入失敗的解決

    SpringMVC @RequestBody屬性名大寫(xiě)字母注入失敗的解決

    這篇文章主要介紹了SpringMVC @RequestBody屬性名大寫(xiě)字母注入失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • springboot jar包外置配置文件的解決方法

    springboot jar包外置配置文件的解決方法

    這篇文章主要給大家介紹了關(guān)于spring boot jar包外置配置文件的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • mybatis雙重foreach如何實(shí)現(xiàn)遍歷map中的兩個(gè)list數(shù)組

    mybatis雙重foreach如何實(shí)現(xiàn)遍歷map中的兩個(gè)list數(shù)組

    本文介紹了如何解析前端傳遞的JSON字符串并在Java后臺(tái)動(dòng)態(tài)構(gòu)建SQL查詢(xún)條件,首先,通過(guò)JSONArray.fromObject()將JSON字符串轉(zhuǎn)化為JSONArray對(duì)象,遍歷JSONArray,從中提取name和infos,構(gòu)建成Map對(duì)象用于Mybatis SQL映射
    2024-09-09
  • Java常見(jiàn)異常及處理方式總結(jié)

    Java常見(jiàn)異常及處理方式總結(jié)

    今天給大家?guī)?lái)的是Java的相關(guān)知識(shí),文章圍繞著Java異常展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • SpringBoot集成RocketMQ的使用示例

    SpringBoot集成RocketMQ的使用示例

    RocketMQ是阿里巴巴開(kāi)源的一款消息中間件,性能優(yōu)秀,功能齊全,被廣泛應(yīng)用在各種業(yè)務(wù)場(chǎng)景,本文就來(lái)介紹一下SpringBoot集成RocketMQ的使用示例,感興趣的可以了解一下
    2023-11-11

最新評(píng)論

桃江县| 洪湖市| 江源县| 绥棱县| 锦州市| 东莞市| 扬中市| 阿拉善左旗| 安远县| 上思县| 乐东| 皮山县| 南通市| 普兰县| 临安市| 龙川县| 乌拉特前旗| 团风县| 翼城县| 晋城| 来宾市| 吉木乃县| 长海县| 搜索| 陇南市| 彩票| 紫阳县| 雷州市| 玛曲县| 新安县| 隆化县| 崇左市| 吉安县| 霸州市| 石柱| 青铜峡市| 越西县| 平湖市| 若羌县| 巴彦淖尔市| 县级市|