日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

一篇學會SpringBoot的核心內容之自動裝配

來源: 責編: 時間:2024-04-26 17:35:13 227觀看
導讀不面試不知道,現在面試的問題真的是五花八門的,最近就有讀者說,在面試的過程中,面試官還提到了關于最初版本的 Spring 還有 SpringMVC 以及現在的 SpringBoot 中的一些相關問題,比如他提到了這個 SpringBoot 的自動裝配是

不面試不知道,現在面試的問題真的是五花八門的,最近就有讀者說,在面試的過程中,面試官還提到了關于最初版本的 Spring 還有 SpringMVC 以及現在的 SpringBoot 中的一些相關問題,比如他提到了這個 SpringBoot 的自動裝配是什么,你是怎么理解的,今天了不起就和大家一起來看看這個關于 SpringBoot 的自動裝配。b5m28資訊網——每日最新資訊28at.com

SpringBoot裝配機制

SpringBoot的自動裝配是一種機制,它可以幫助開發者更快地搭建和運行Spring應用。SpringBoot的自動裝配依賴于其提供的starter依賴,這些starter依賴包含了Spring應用所需的大部分配置,使得開發者不需要手動配置這些通用的功能。b5m28資訊網——每日最新資訊28at.com

如果我們這么回答,可能面試官聽到就不是很滿意了,這時候,我們就得抓住要點來進行分析,這樣回答的時候,勢必肯定能抓到重點,畢竟面試的時候,每個人的回答肯定也都是不一樣的。b5m28資訊網——每日最新資訊28at.com

1.約定優于配置b5m28資訊網——每日最新資訊28at.com

2.核心注解b5m28資訊網——每日最新資訊28at.com

3.自動掃描b5m28資訊網——每日最新資訊28at.com

我們來一個一個的解釋這些內容指的到底是什么意思:b5m28資訊網——每日最新資訊28at.com

約定優于配置

SpringBoot的約定優于配置(Convention Over Configuration)主要體現在以下幾個方面:b5m28資訊網——每日最新資訊28at.com

自動配置:SpringBoot根據項目的類路徑下的jar包依賴關系,自動配置相應的Bean。例如,當檢測到HSQLDB數據庫驅動在類路徑下時,它會自動配置一個嵌入式數據庫實例和相關的JPA/Hibernate設置。b5m28資訊網——每日最新資訊28at.com

目錄結構約定:SpringBoot遵循一定的目錄結構約定,使得開發者可以將代碼和資源放在約定的目錄下,而不需要在配置文件中指定。例如,靜態資源默認放在src/main/resources/static或src/main/resources/public目錄下,模板文件默認在src/main/resources/templates下。b5m28資訊網——每日最新資訊28at.com

Starter依賴:SpringBoot提供了一系列的Starter依賴,這些Starter依賴是預定義的依賴集合。通過引入相應的Starter依賴,可以自動引入相關的庫和默認配置,從而簡化了項目的依賴管理。例如,通過引入spring-boot-starter-web依賴,就能夠快速搭建一個基于Spring MVC的Web應用。b5m28資訊網——每日最新資訊28at.com

核心注解EnableAutoConfiguration

EnableAutoConfiguration 是 Spring Boot 的核心注解之一,它告訴 Spring Boot 根據你添加的 jar 依賴項自動配置你的應用程序。Spring Boot 會自動配置許多方面,例如數據源、消息代理、安全設置等,你通常不需要手動設置它們。b5m28資訊網——每日最新資訊28at.com

這個注解的工作原理是基于在項目的類路徑(classpath)中查找特定的 jar 依賴項。一旦找到這些依賴項,Spring Boot 就會自動配置相關的 bean。這減少了大量手動配置和樣板代碼的需求,使開發者能夠專注于他們的應用程序邏輯。b5m28資訊網——每日最新資訊28at.com

@EnableAutoConfiguration 注解通常放在主應用程序類上,這是帶有 main 方法的類,該類使用 SpringApplication.run() 方法啟動 Spring Boot 應用程序。b5m28資訊網——每日最新資訊28at.com

這里是 @EnableAutoConfiguration 注解的基本用法:b5m28資訊網——每日最新資訊28at.com

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.context.annotation.Configuration;@Configuration@EnableAutoConfigurationpublic class MySpringBootApplication {    public static void main(String[] args) {        SpringApplication.run(MySpringBootApplication.class, args);    }}

在這個例子中,@EnableAutoConfiguration 注解啟動了自動配置。Spring Boot 會根據類路徑中的 jar 依賴項來自動配置 bean。b5m28資訊網——每日最新資訊28at.com

那么EnableAutoConfiguration 是如何工作的呢?b5m28資訊網——每日最新資訊28at.com

@EnableAutoConfiguration 注解實際上是一個組合注解,它包含了 @AutoConfigurationPackage 和 @Import(AutoConfigurationImportSelector.class)。b5m28資訊網——每日最新資訊28at.com

@AutoConfigurationPackage 注解確保 @Configuration 類(通常位于主應用程序類中)被考慮在內,以便它可以被自動配置的 beans 使用。@Import(AutoConfigurationImportSelector.class) 注解告訴 Spring Boot 從 META-INF/spring.factories 配置文件中加載 auto-configuration 類。Spring Boot 提供了許多這樣的配置文件,每個文件都針對特定的技術或功能(如數據源、Web MVC 等)。當 Spring Boot 啟動時,它會加載 META-INF/spring.factories 配置文件,并根據你的類路徑中的依賴項選擇適當的自動配置類。然后,這些自動配置類會注冊額外的 beans 到 Spring 的上下文中。b5m28資訊網——每日最新資訊28at.com

如果你不想使用某個特定的自動配置,你可以使用 @EnableAutoConfiguration 注解的 exclude 屬性來排除它。b5m28資訊網——每日最新資訊28at.com

比如我們排除某個特定的自動配置b5m28資訊網——每日最新資訊28at.com

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;import org.springframework.context.annotation.Configuration;@Configuration@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})public class MySpringBootApplication {    public static void main(String[] args) {        SpringApplication.run(MySpringBootApplication.class, args);    }}

總之,@EnableAutoConfiguration 注解是 Spring Boot 的核心特性之一,它簡化了 Spring 應用程序的配置過程,使開發者能夠專注于實現業務邏輯。b5m28資訊網——每日最新資訊28at.com

自動掃描

Spring Boot 的自動掃描是 Spring 框架的一個特性,在 Spring Boot 中得到了進一步的簡化和增強。它允許 Spring Boot 應用程序自動發現和注冊 bean,減少了開發者需要手動配置和聲明 bean 的數量。b5m28資訊網——每日最新資訊28at.com

那自動掃描都做了哪些事情呢?b5m28資訊網——每日最新資訊28at.com

組件掃描:默認情況下,Spring Boot 會掃描啟動類(通常是帶有 @SpringBootApplication 注解的類)所在的包以及其子包下的所有類。它會查找帶有 @Component、@Service、@Repository 和 @Controller 等注解的類,并將它們作為 Spring 容器中的 bean 進行注冊。b5m28資訊網——每日最新資訊28at.com

配置類掃描:除了普通的組件,Spring Boot 還會掃描 @Configuration 注解的類,這些類通常包含 @Bean 方法定義,用于聲明和配置額外的 bean。b5m28資訊網——每日最新資訊28at.com

自動配置類掃描:Spring Boot 還會掃描 META-INF/spring.factories 配置文件,以加載和應用自動配置類。這些自動配置類通常根據類路徑下的庫和依賴項來提供默認的配置。b5m28資訊網——每日最新資訊28at.com

資源掃描:除了組件和配置類,Spring Boot 還會自動掃描靜態資源,如 HTML、CSS、JavaScript 文件以及模板文件(如 Thymeleaf、FreeMarker 等)。這些資源通常放在特定的目錄下,如 src/main/resources/static 或 src/main/resources/templates。b5m28資訊網——每日最新資訊28at.com

要開啟或調整組件掃描的范圍,你可以使用 @ComponentScan 注解。b5m28資訊網——每日最新資訊28at.com

這個注解我們都不用多說了把,指明掃包路徑b5m28資訊網——每日最新資訊28at.com

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.ComponentScan;@SpringBootApplication@ComponentScan(basePackages = "com.example.myapp") // 指定掃描的包路徑public class MySpringBootApplication {    public static void main(String[] args) {        SpringApplication.run(MySpringBootApplication.class, args);    }}

本文鏈接:http://m.www897cc.com/showinfo-26-85875-0.html一篇學會SpringBoot的核心內容之自動裝配

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 一種避免大量If-else代碼的新思路

下一篇: WPF開發:使用命令模式實現Undo和Redo功能

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
免费h精品视频在线播放| 久久精品一区二区三区四区| 亚洲毛片在线免费观看| av不卡在线看| 欧美一级视频精品观看| 欧美91大片| 国产精品久久亚洲7777| 黄色亚洲免费| 99伊人成综合| 亚洲免费在线电影| 免费精品视频| 国产精品久久久久久久久免费| 国产夜色精品一区二区av| 91久久综合亚洲鲁鲁五月天| 亚洲欧美中日韩| 久久综合一区二区| 国产精品s色| 尤物网精品视频| 一本一本a久久| 久久国产精品一区二区| 欧美精品系列| 国产一区二区三区网站| 一区二区免费在线视频| 久久久之久亚州精品露出| 欧美亚男人的天堂| 亚洲国产欧美一区| 欧美有码视频| 欧美日韩免费一区| 影音先锋亚洲一区| 亚洲女人天堂成人av在线| 欧美成人免费一级人片100| 国产精品羞羞答答xxdd| 亚洲精品免费看| 久久精品综合一区| 国产精品大片wwwwww| 亚洲黑丝一区二区| 久久99在线观看| 欧美日韩一区三区四区| 亚洲成在线观看| 欧美一区二区在线观看| 欧美三级视频在线播放| 亚洲黄色片网站| 久久精品国产欧美亚洲人人爽| 欧美视频一区二区三区| 亚洲区一区二| 久热精品视频在线观看一区| 国产欧美精品xxxx另类| 一区二区电影免费观看| 麻豆精品在线观看| 国产在线观看精品一区二区三区| 亚洲视频在线视频| 欧美精品观看| 亚洲国产一区二区精品专区| 久久激情久久| 国产欧美精品久久| 亚洲欧洲99久久| 国产精品国色综合久久| 99国产精品久久| 欧美女人交a| 亚洲精品国产精品国产自| 噜噜爱69成人精品| 永久免费精品影视网站| 久久久亚洲精品一区二区三区| 国产乱人伦精品一区二区| 亚洲影院免费| 国产精品海角社区在线观看| 一区二区三区黄色| 欧美日韩一区在线播放| 日韩亚洲欧美一区| 欧美日韩一区二区三区免费| 亚洲日本欧美天堂| 欧美sm重口味系列视频在线观看| 精品av久久707| 久久久久久网站| 国产综合色在线| 欧美中文字幕久久| 国产欧美在线看| 欧美永久精品| 国产亚洲精品久久久| 久久9热精品视频| 狠狠色伊人亚洲综合成人| 久久久国产成人精品| 狠狠色丁香久久婷婷综合丁香| 久久精品视频在线观看| 精品1区2区3区4区| 免费久久99精品国产自| 91久久精品久久国产性色也91| 欧美高清在线视频| 亚洲免费精彩视频| 欧美性色综合| 亚洲欧美日韩精品久久久| 国产欧美韩国高清| 久久久精品动漫| 在线色欧美三级视频| 欧美xx69| 一本色道**综合亚洲精品蜜桃冫 | 国产精品午夜国产小视频| 性欧美xxxx大乳国产app| 国产香蕉97碰碰久久人人| 久久精品夜色噜噜亚洲aⅴ| 激情综合色综合久久综合| 久久资源av| 日韩视频在线永久播放| 国产精品福利网| 欧美一区二区三区日韩| 黄色影院成人| 欧美精品情趣视频| 亚洲一区二区三区在线观看视频| 国产欧美日韩| 老司机精品视频网站| 亚洲国内精品| 国产精品草草| 久久久久久久久久久成人| 91久久国产精品91久久性色| 一本色道久久综合亚洲二区三区| 欧美日韩在线一区二区三区| 性8sex亚洲区入口| 亚洲国产精品第一区二区三区| 欧美日本一道本| 欧美一级视频精品观看| 亚洲国产精彩中文乱码av在线播放| 欧美日韩中文字幕在线| 欧美一区二区三区在线看| 91久久精品一区| 国产精品伦理| 久久综合色88| 亚洲一区国产| 在线观看亚洲视频啊啊啊啊| 欧美日韩一区综合| 久久gogo国模啪啪人体图| 91久久精品美女高潮| 国产精品日韩久久久| 美女网站在线免费欧美精品| 一区二区三区欧美视频| 红桃视频一区| 欧美性理论片在线观看片免费| 久久精品国产综合精品| 99v久久综合狠狠综合久久| 国产一区二区三区四区五区美女| 欧美精品久久久久久久免费观看| 午夜精品久久一牛影视| 亚洲日本va午夜在线电影| 国产欧美日韩不卡免费| 欧美精品日韩一本| 久久九九热免费视频| 亚洲一区精品在线| 亚洲欧洲三级电影| 国产亚洲成精品久久| 欧美日韩一区不卡| 美女诱惑一区| 亚洲欧美在线视频观看| 亚洲啪啪91| 国色天香一区二区| 国产精品福利片| 欧美福利影院| 久久久久久久激情视频| 亚洲一区黄色| 一区二区久久| 亚洲激情偷拍| 影音先锋久久资源网| 国产欧美韩日| 国产精品久久波多野结衣| 欧美成人午夜影院| 久久久久久亚洲综合影院红桃| 亚洲免费在线观看| av成人老司机| 亚洲精品一区二区网址| 曰本成人黄色| 国产亚洲精品资源在线26u| 欧美性一区二区| 欧美日韩久久| 欧美精品日韩一区| 欧美成人国产va精品日本一级| 久久精品在线免费观看| 午夜精品久久久久久久| 亚洲图片欧美日产| 99精品免费| 日韩视频在线免费| 亚洲片区在线| 亚洲高清免费在线| 精品动漫3d一区二区三区免费| 国产视频在线一区二区| 国产精品综合不卡av| 国产精品嫩草影院av蜜臀| 国产精品v欧美精品v日韩精品| 欧美日韩亚洲一区在线观看| 欧美日韩国产成人在线观看| 欧美激情一区二区三区在线视频| 欧美.日韩.国产.一区.二区| 久久男人资源视频| 久久嫩草精品久久久久| 久久深夜福利免费观看| 久久久免费观看视频| 久久免费的精品国产v∧| 久久久综合网站| 玖玖玖国产精品| 蜜臀久久99精品久久久画质超高清 | 国产精品一区二区久久久| 国产精品萝li| 国产精品久久久久久久久久久久久| 国产精品激情偷乱一区二区∴| 国产精品国内视频| 国产女优一区| 国产日韩在线视频|