欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot中最常用的5個(gè)內(nèi)置對(duì)象使用方法

 更新時(shí)間:2023年08月18日 10:46:43   作者:萬(wàn)貓學(xué)社  
這篇文章主要給大家介紹了關(guān)于SpringBoot中最常用的5個(gè)內(nèi)置對(duì)象使用的相關(guān)資料,在學(xué)習(xí)springboot的過(guò)程中,發(fā)現(xiàn)了springboot非常多的優(yōu)點(diǎn)和特性,需要的朋友可以參考下

SpringBoot簡(jiǎn)介

Spring Boot 是 Pivotal 團(tuán)隊(duì)推出的一款創(chuàng)新框架,旨在簡(jiǎn)化 Spring 應(yīng)用的初始化搭建和開(kāi)發(fā)流程。該框架采用了獨(dú)特的配置方式,讓開(kāi)發(fā)者無(wú)需再編寫(xiě)繁瑣的模板配置。借助這一優(yōu)勢(shì),Spring Boot 力求在快速應(yīng)用開(kāi)發(fā)領(lǐng)域(Rapid Application Sevelopment)樹(shù)立行業(yè)標(biāo)桿。

正如官方所描述,Spring Boot是所有基于 Spring 開(kāi)發(fā)項(xiàng)目的理想起點(diǎn)。這一強(qiáng)大的框架集成了當(dāng)前市場(chǎng)上絕大部分流行的開(kāi)發(fā)框架,類(lèi)似于 Maven 對(duì)各種 JAR 包的集成。Spring Boot 的出現(xiàn),使得開(kāi)發(fā)者能夠迅速搭建并運(yùn)行 Spring 項(xiàng)目,從而大大提高了開(kāi)發(fā)效率和便利性。在這個(gè)技術(shù)日新月異的時(shí)代,Spring Boot 的優(yōu)勢(shì)愈發(fā)凸顯,成為了眾多開(kāi)發(fā)者的首選框架。

SpringBoot中最常用的5個(gè)內(nèi)置對(duì)象

在SpringBoot框架中,有很多內(nèi)置對(duì)象可以幫助我們更方便地進(jìn)行開(kāi)發(fā)。本文將介紹SpringBoot中最常用的5個(gè)內(nèi)置對(duì)象:ApplicationContext、BeanFactory、Environment、ResourceLoader、MessageSource。我們將分別介紹這些對(duì)象的作用、使用方法以及相關(guān)的API。

一、ApplicationContext

1.1 ApplicationContext簡(jiǎn)介

ApplicationContext(應(yīng)用上下文)是SpringBoot中的一個(gè)核心接口,它繼承自BeanFactory接口。ApplicationContext主要負(fù)責(zé)管理Bean的生命周期、依賴(lài)注入、事件發(fā)布等功能。在SpringBoot應(yīng)用中,我們通常會(huì)使用AnnotationConfigApplicationContext或者XmlWebApplicationContext作為ApplicationContext的實(shí)現(xiàn)類(lèi)。

1.2 ApplicationContext的使用

在SpringBoot應(yīng)用中,我們可以通過(guò)以下幾種方式獲取ApplicationContext對(duì)象:

  • 通過(guò)實(shí)現(xiàn)ApplicationContextAware接口
  • 通過(guò)@Autowired注解
  • 通過(guò)SpringApplication.run()方法返回的對(duì)象

獲取到ApplicationContext對(duì)象后,我們可以使用它的以下方法:

  • getBean():根據(jù)Bean的名稱(chēng)或者類(lèi)型獲取Bean實(shí)例
  • containsBean():判斷容器中是否包含指定名稱(chēng)的Bean
  • isSingleton():判斷指定名稱(chēng)的Bean是否為單例
  • getBeanDefinitionNames():獲取容器中所有Bean的名稱(chēng)
  • getBeanDefinitionCount():獲取容器中Bean的數(shù)量

1.3 獲取和使用ApplicationContext對(duì)象

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
@Component
public class ApplicationContextUtil {
    @Autowired
    private ApplicationContext applicationContext;
    // 其他方法
}
public class UserService {
    public void getUser() {
        // 獲取UserDao Bean
        UserDao userDao = applicationContext.getBean(UserDao.class);
        userDao.getUser();
    }
}

二、BeanFactory

2.1 BeanFactory簡(jiǎn)介

BeanFactory(Bean工廠)是SpringBoot中的一個(gè)核心接口,它主要負(fù)責(zé)創(chuàng)建和管理Bean。BeanFactory提供了一種延遲加載的策略,即只有在需要使用Bean時(shí)才會(huì)創(chuàng)建Bean實(shí)例。這種策略可以有效地減少內(nèi)存消耗和提高應(yīng)用啟動(dòng)速度。

2.2 BeanFactory的使用

在SpringBoot應(yīng)用中,我們可以通過(guò)以下幾種方式獲取BeanFactory對(duì)象:

  • 通過(guò)實(shí)現(xiàn)BeanFactoryAware接口
  • 通過(guò)@Autowired注解
  • 通過(guò)ApplicationContext對(duì)象的getAutowireCapableBeanFactory()方法

獲取到BeanFactory對(duì)象后,我們可以使用它的以下方法:

  • getBean():根據(jù)Bean的名稱(chēng)或者類(lèi)型獲取Bean實(shí)例
  • containsBean():判斷容器中是否包含指定名稱(chēng)的Bean
  • isSingleton():判斷指定名稱(chēng)的Bean是否為單例
  • getType():獲取指定名稱(chēng)的Bean的類(lèi)型
  • getAliases():獲取指定名稱(chēng)的Bean的別名

2.3 獲取和使用BeanFactory對(duì)象

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class BeanFactoryUtil {
    @Autowired
    private BeanFactory beanFactory;
    // 其他方法
}
public class UserService {
    public void getUser() {
        // 獲取UserDao Bean
        UserDao userDao = beanFactory.getBean(UserDao.class);
        userDao.getUser();
    }
}

三、Environment

3.1 Environment簡(jiǎn)介

Environment(環(huán)境)是SpringBoot中的一個(gè)接口,它主要負(fù)責(zé)管理應(yīng)用的配置信息。Environment接口提供了一種統(tǒng)一的方式來(lái)訪問(wèn)應(yīng)用的配置信息,包括系統(tǒng)屬性、環(huán)境變量、配置文件等。在SpringBoot應(yīng)用中,我們通常會(huì)使用StandardEnvironment或者ConfigurableEnvironment作為Environment的實(shí)現(xiàn)類(lèi)。

3.2 Environment的使用

在SpringBoot應(yīng)用中,我們可以通過(guò)以下幾種方式獲取Environment對(duì)象:

  • 通過(guò)實(shí)現(xiàn)EnvironmentAware接口
  • 通過(guò)@Autowired注解
  • 通過(guò)ApplicationContext對(duì)象的getEnvironment()方法

獲取到Environment對(duì)象后,我們可以使用它的以下方法:

  • getProperty():根據(jù)屬性名稱(chēng)獲取屬性值
  • containsProperty():判斷是否包含指定名稱(chēng)的屬性
  • getRequiredProperty():根據(jù)屬性名稱(chēng)獲取屬性值,如果不存在則拋出異常
  • getPropertySources():獲取所有的屬性源
  • getActiveProfiles():獲取當(dāng)前激活的Profile

3.3 獲取和使用Environment對(duì)象

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
@Component
public class EnvironmentUtil {
    @Autowired
    private Environment environment;
    // 其他方法
}
public class UserService {
    public void getUser() {
        // 獲取配置文件中的屬性值
        String userName = environment.getProperty("user.name");
        System.out.println("User name: " + userName);
    }
}

四、ResourceLoader

4.1 ResourceLoader簡(jiǎn)介

ResourceLoader(資源加載器)是SpringBoot中的一個(gè)接口,它主要負(fù)責(zé)加載外部資源。ResourceLoader提供了一種統(tǒng)一的方式來(lái)加載外部資源,包括文件、URL、類(lèi)路徑等。在SpringBoot應(yīng)用中,我們通常會(huì)使用DefaultResourceLoader或者FileSystemResourceLoader作為ResourceLoader的實(shí)現(xiàn)類(lèi)。

4.2 ResourceLoader的使用

在SpringBoot應(yīng)用中,我們可以通過(guò)以下幾種方式獲取ResourceLoader對(duì)象:

  • 通過(guò)實(shí)現(xiàn)ResourceLoaderAware接口
  • 通過(guò)@Autowired注解
  • 通過(guò)ApplicationContext對(duì)象的getResource()方法

獲取到ResourceLoader對(duì)象后,我們可以使用它的以下方法:

  • getResource():根據(jù)資源路徑獲取資源對(duì)象
  • getClassLoader():獲取資源加載器使用的類(lèi)加載器

4.3 獲取和使用ResourceLoader對(duì)象

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Component;
@Component
public class ResourceLoaderUtil {
    @Autowired
    private ResourceLoader resourceLoader;
    // 其他方法
}
import org.springframework.core.io.Resource;
public class UserService {
    public void getUser() {
        // 加載資源文件
        Resource resource = resourceLoader.getResource("classpath:application.properties");
        System.out.println("Resource: " + resource);
    }
}

五、MessageSource

5.1 MessageSource簡(jiǎn)介

MessageSource(消息源)是SpringBoot中的一個(gè)接口,它主要負(fù)責(zé)管理國(guó)際化消息。MessageSource提供了一種統(tǒng)一的方式來(lái)管理國(guó)際化消息,包括消息的存儲(chǔ)、檢索、格式化等。在SpringBoot應(yīng)用中,我們通常會(huì)使用ResourceBundleMessageSource或者ReloadableResourceBundleMessageSource作為MessageSource的實(shí)現(xiàn)類(lèi)。

5.2 MessageSource的使用

在SpringBoot應(yīng)用中,我們可以通過(guò)以下幾種方式獲取MessageSource對(duì)象:

  • 通過(guò)實(shí)現(xiàn)MessageSourceAware接口
  • 通過(guò)@Autowired注解
  • 通過(guò)ApplicationContext對(duì)象的getMessageSource()方法

獲取到MessageSource對(duì)象后,我們可以使用它的以下方法:

  • getMessage():根據(jù)消息代碼獲取消息內(nèi)容
  • getMessage():根據(jù)消息代碼、參數(shù)和默認(rèn)值獲取消息內(nèi)容
  • getMessage():根據(jù)消息代碼、參數(shù)和Locale獲取消息內(nèi)容

5.3 獲取和使用MessageSource對(duì)象

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Component;
@Component
public class MessageSourceUtil {
    @Autowired
    private MessageSource messageSource;
    // 其他方法
}
import java.util.Locale;
public class UserService {
    public void getUser() {
        // 獲取國(guó)際化消息
        String message = messageSource.getMessage("user.name", null, Locale.getDefault());
        System.out.println("Message: " + message);
    }
}

總結(jié)

本文介紹了SpringBoot中最常用的5個(gè)內(nèi)置對(duì)象:ApplicationContext、BeanFactory、Environment、ResourceLoader、MessageSource。這些對(duì)象在SpringBoot應(yīng)用中發(fā)揮著重要的作用,幫助我們更方便地進(jìn)行開(kāi)發(fā)。希望本文能幫助大家更好地理解和使用這些內(nèi)置對(duì)象。

到此這篇關(guān)于SpringBoot中最常用的5個(gè)內(nèi)置對(duì)象使用的文章就介紹到這了,更多相關(guān)SpringBoot內(nèi)置對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot項(xiàng)目訪問(wèn)任意接口出現(xiàn)401錯(cuò)誤的解決方案

    SpringBoot項(xiàng)目訪問(wèn)任意接口出現(xiàn)401錯(cuò)誤的解決方案

    今天小編就為大家分享一篇關(guān)于SpringBoot項(xiàng)目訪問(wèn)任意接口出現(xiàn)401錯(cuò)誤的解決方案,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • MyBatis帶參查詢(xún)的方法詳解

    MyBatis帶參查詢(xún)的方法詳解

    這篇文章主要介紹了MyBatis帶參查詢(xún)的方法詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 使用Idea連接MySQL的詳細(xì)步驟總結(jié)

    使用Idea連接MySQL的詳細(xì)步驟總結(jié)

    今天給大家?guī)?lái)的是關(guān)于IDEA連接數(shù)據(jù)庫(kù)的問(wèn)題,文章圍繞著使用Idea連接MySQL的詳細(xì)步驟展開(kāi),文中有非常詳細(xì)的介紹及圖文示例,需要的朋友可以參考下
    2021-06-06
  • Java用鄰接矩陣存儲(chǔ)圖的示例代碼

    Java用鄰接矩陣存儲(chǔ)圖的示例代碼

    鄰接矩陣通常采用一個(gè)一維數(shù)組存儲(chǔ)圖中節(jié)點(diǎn)的信息,采用一個(gè)二維數(shù)組存儲(chǔ)圖中節(jié)點(diǎn)之間的鄰接關(guān)系。本文將利用Java實(shí)現(xiàn)用鄰接矩陣存儲(chǔ)圖,需要的可以參考一下
    2022-06-06
  • Java實(shí)現(xiàn)對(duì)一行英文進(jìn)行單詞提取功能示例

    Java實(shí)現(xiàn)對(duì)一行英文進(jìn)行單詞提取功能示例

    這篇文章主要介紹了Java實(shí)現(xiàn)對(duì)一行英文進(jìn)行單詞提取功能,結(jié)合實(shí)例形式分析了java基于StringTokenizer類(lèi)進(jìn)行字符串分割的相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • Spring加載屬性文件方式(自動(dòng)加載優(yōu)先級(jí)問(wèn)題)

    Spring加載屬性文件方式(自動(dòng)加載優(yōu)先級(jí)問(wèn)題)

    這篇文章主要介紹了Spring加載屬性文件方式(自動(dòng)加載優(yōu)先級(jí)問(wèn)題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Mybatis?saveAndUpdate空值不更新問(wèn)題及解決

    Mybatis?saveAndUpdate空值不更新問(wèn)題及解決

    這篇文章主要介紹了Mybatis?saveAndUpdate空值不更新問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • SpringBoot中Starter的作用小結(jié)

    SpringBoot中Starter的作用小結(jié)

    這篇文章主要介紹了SpringBoot中Starter的作用小結(jié),Starter其實(shí)就是Spring針對(duì)不用的開(kāi)發(fā)場(chǎng)景,給我們提供的“套餐”。今天就通過(guò)實(shí)例代碼給大家介紹Starter,感興趣的朋友一起看看吧
    2021-10-10
  • IntelliJ idea 如何生成動(dòng)態(tài)的JSON字符串(步驟詳解)

    IntelliJ idea 如何生成動(dòng)態(tài)的JSON字符串(步驟詳解)

    這篇文章主要介紹了IntelliJ idea 如何生成動(dòng)態(tài)的JSON字符串,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 詳解IDEA JUnit5測(cè)試套件運(yùn)行錯(cuò)誤的問(wèn)題

    詳解IDEA JUnit5測(cè)試套件運(yùn)行錯(cuò)誤的問(wèn)題

    這篇文章主要介紹了詳解IDEA JUnit5測(cè)試套件運(yùn)行錯(cuò)誤的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評(píng)論