中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

h5響應(yīng)式企業(yè)網(wǎng)站源碼百度推廣客戶端下載

h5響應(yīng)式企業(yè)網(wǎng)站源碼,百度推廣客戶端下載,新網(wǎng)站制作公司,武昌做網(wǎng)站哪家專業(yè)自動裝配 spring boot的自動裝配(auto configuration)是通過spring framework的依賴注入(dependency injection, DI)和配置類的組合來實現(xiàn)的。 spring boot 的自動裝配機制可以簡化應(yīng)用的配置過程,是開發(fā)者不再需要手…
自動裝配

spring?boot的自動裝配(auto?configuration)是通過spring?framework的依賴注入(dependency?injection, DI)和配置類的組合來實現(xiàn)的。?spring?boot?的自動裝配機制可以簡化應(yīng)用的配置過程,是開發(fā)者不再需要手動創(chuàng)建配置文件或管理bean.?而是通過注解和配置類自動完成。

  1. springboot?自動裝配的原理
  2. 依賴注入的核心注解
  3. 自動配置類的加載機制
  4. @SpringBootApplication注解詳解
  5. 自定義配置和自動配置的關(guān)系
  6. 常見的自動裝配場景
  7. 總結(jié)
springboot自動裝配的原理:?

springboot的自動裝配是基于以下幾個核心機制實現(xiàn)的:

@SpringBootApplication:?它是一個組合注解,包含了@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan.

  • @SpringBootConfiguration:?主要是聲明該類是一個配置類,這是Springboot專用的配置聲明類
  • @EnableAutoConfiguration:?啟動springboot?自動配置機制的核心注解,它會根據(jù)類路徑下的依賴來自動裝配Spring應(yīng)用程序。
  • @ComponentScan:?掃碼@Component? @Service @Repository? @Controller等標(biāo)注的類,使得這些bean自動注冊到spring容器中。如果沒有配置路徑或者類。直接掃描該類所在包及其子包中的組件。
  • spring.factories: SpringBoot?使用spring-boot-autoconfigure中的META-INFO/spring.factories文件來管理自動裝配的的類。spring.factories文件中列出的所有的自動配置類,這些類在啟動時都會被加載并注冊
?依賴注入的核心注解:

SpringBoot?依賴于springFramework?的依賴注入機制,通過注解實現(xiàn)Bean的自動裝配。主要注解有:

  • @Autowired:?可以注入構(gòu)造方法、字段、Setter方法。 Spring會根據(jù)類型在容器中查找匹配的Bean并注入
  • @Component、@Service、@Repository、@Controller標(biāo)識類為spring管理的Bean.?其中@Component是通用的注解,?而@Service、@Repository、@Controller是它的變種,分別用于業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層、控制層
  • @Configuration:?表示一個配置類,可以定義@Bean方法,將返回的bean注冊到Spring容器中。
    @Configuration
    public class MyConfiguration{@Beanpublic MyService myService(){return new MyService();}
    }
    自動配置類的加載機制
  • Spring Boot通過@EnableAutoConfiguration啟動自動配置機制,他會掃描spring.factories文件中配置的自動配置類,并通過條件注解(如@ConditionalOnClass @ConditionalOnMissingBean)決定是否加載這些配置類。

  • 條件注解:?自動配置類中使用條件注解來控制配置的生效,常見的條件注解有:

  • @ConditionalOnClass:?當(dāng)類路徑下存在指定的類時,配置才會生效。

  • @ConditionalOnMissingClass:?當(dāng)Spring容器中沒有指定類型的bean時,才會創(chuàng)建Bean.

  • @ConditionalOnProperty:?當(dāng)配置文件中存在特定的屬性時,配置才會生效。

?例如,Spring Boot 提供的 DataSource 自動配置類 DataSourceAutoConfiguration

@Configuration
@ConditionalOnClass(DataSource.class)
@EnableConfigurationProperties(DataSourceProperties.class)
public class DataSourceAutoConfiguration {@Bean@ConditionalOnMissingBeanpublic DataSource dataSource(DataSourceProperties properties) {// 創(chuàng)建 DataSource Bean}
}

當(dāng)項目中引入了數(shù)據(jù)庫依賴(如 HikariCP),DataSourceAutoConfiguration 會自動配置一個 DataSource 對象。

@SpringBootApplication 注解詳解

?@SpringBootApplication 是一個組合注解,通常放在主啟動類上:

@SpringBootApplication
public class MySpringBootApplication {public static void main(String[] args) {SpringApplication.run(MySpringBootApplication.class, args);}
}

其中包含了:

  • @SpringBootConfiguration:等價于 @Configuration,標(biāo)識該類為配置類。
  • @EnableAutoConfiguration:啟用 Spring Boot 的自動配置機制。
  • @ComponentScan:掃描該類所在包及其子包中的 @Component、@Service@Repository 等注解。
?自定義配置和自動配置的關(guān)系

在使用自動裝配時,可以通過手動定義的 @Bean、@Configuration 優(yōu)先覆蓋自動配置類中的默認(rèn)配置。例如,自定義一個 DataSource

@Configuration
public class CustomDataSourceConfig {@Beanpublic DataSource customDataSource() {return new HikariDataSource();}
}

這樣,即使自動配置類中也定義了 DataSource,但由于 @ConditionalOnMissingBean 的存在,自定義的 DataSource 會優(yōu)先被加載。

定制自動配置:可以通過以下幾種方式定制 Spring Boot 的自動配置:

  • @ConditionalOnProperty:通過屬性控制自動配置的啟用或禁用。例如,通過設(shè)置 spring.datasource.enabled=false 可以禁用數(shù)據(jù)源的自動配置。
  • 自定義 @Configuration:可以通過編寫自定義的 @Configuration 類來覆蓋默認(rèn)的自動配置。
  • @Import:可以手動導(dǎo)入一些自動配置類來精確控制自動配置的內(nèi)容。
常見的自動裝配場景
  • 數(shù)據(jù)庫配置:通過引入 spring-boot-starter-data-jpaspring-boot-starter-jdbc,Spring Boot 自動配置數(shù)據(jù)源、JPA 實體管理等。
  • Web 框架配置:引入 spring-boot-starter-web,Spring Boot 會自動配置 DispatcherServletJackson JSON 解析器等。
  • 消息隊列配置:引入 spring-boot-starter-amqp,自動配置 RabbitMQ 連接工廠、模板和監(jiān)聽器容器。
?總結(jié)

Spring Boot 的自動裝配極大地簡化了 Spring 應(yīng)用的開發(fā):

  • 減少配置文件:開發(fā)者不需要在 XML 或 Java 配置類中顯式配置每個組件,Spring Boot 會根據(jù)類路徑中的依賴自動加載相應(yīng)的配置。
  • 減少樣板代碼:在傳統(tǒng)的 Spring 應(yīng)用中,我們可能需要編寫很多 @Configuration 類來設(shè)置數(shù)據(jù)源、事務(wù)管理器、視圖解析器、消息轉(zhuǎn)換器等。但在 Spring Boot 中,大部分常見的配置都是自動配置好的,開發(fā)者只需要關(guān)注業(yè)務(wù)邏輯。例如,若要使用 Spring MVC,傳統(tǒng) Spring 需要配置 DispatcherServlet 和 ViewResolver 等,但在 Spring Boot 中,只需要在類路徑中添加 spring-boot-starter-web 依賴即可,Spring Boot 會自動配置這些組件。
  • 按需加載:通過條件注解和 spring.factories 文件,Spring Boot 只加載需要的配置。
  • 可擴展性強:可以通過自定義配置或修改 application.properties 文件中的屬性,靈活調(diào)整自動配置的行為。
http://www.risenshineclean.com/news/30143.html

相關(guān)文章:

  • 創(chuàng)可貼網(wǎng)站怎么做圖片大全北京網(wǎng)站優(yōu)化
  • 佛山網(wǎng)站優(yōu)化公司做百度推廣代運營有用嗎
  • 包裝在線設(shè)計網(wǎng)站谷歌seo靠譜嗎
  • 哈爾濱網(wǎng)站開發(fā)培訓(xùn)seo推廣代運營
  • 王者榮耀網(wǎng)站建設(shè)的步驟怎么弄一個自己的網(wǎng)站
  • 上海做公益活動有哪些好的網(wǎng)站黑帽seo是什么意思
  • 公司網(wǎng)站域名做郵箱自己做網(wǎng)站設(shè)計制作
  • 網(wǎng)站建設(shè)情況的報告國外引流推廣軟件
  • 北京h5網(wǎng)站建設(shè)報價網(wǎng)絡(luò)推廣合作協(xié)議范本
  • html入門視頻教程鄭州seo推廣優(yōu)化
  • 廈門網(wǎng)站建設(shè)培訓(xùn)百度推廣開戶多少錢
  • 找人做網(wǎng)站需要注意什么跨境電商靠譜嗎
  • 做爰網(wǎng)站下載免費網(wǎng)頁制作模板
  • 如何說服老板做網(wǎng)站營銷策劃書案例
  • app軟件設(shè)計鄭州seo排名優(yōu)化公司
  • 遵義公司網(wǎng)站制作哪家好百度推廣登錄首頁網(wǎng)址
  • 如何將網(wǎng)站指向404微信5000人接推廣費用
  • 網(wǎng)站如何做促銷活動推廣引流話術(shù)
  • 山東網(wǎng)站建設(shè)公司武漢做seo公司
  • 網(wǎng)站建設(shè)歸工商局管還是工信局管查關(guān)鍵詞排名軟件
  • 代做網(wǎng)站排名谷歌優(yōu)化推廣
  • 網(wǎng)站建設(shè)哪家最專業(yè)長沙網(wǎng)絡(luò)營銷學(xué)校
  • 定制開發(fā)app到底要多少錢百度搜索引擎優(yōu)化指南最新版
  • 南海網(wǎng)站建設(shè)公司蘇州網(wǎng)站優(yōu)化排名推廣
  • 怎么查看網(wǎng)站收錄東營seo
  • 哪個新聞網(wǎng)站好友情鏈接是啥意思
  • 做美工一般要收藏哪些網(wǎng)站友情鏈接軟件
  • wordpress tag 收錄肇慶seo按天收費
  • 衡水企業(yè)做網(wǎng)站多少錢使用百度地圖導(dǎo)航收費嗎
  • 長沙銘萬做網(wǎng)站上海網(wǎng)站快速排名優(yōu)化