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

如何獲得spring上下文的方法總結(jié)

 更新時(shí)間:2020年04月20日 09:51:03   作者:知識(shí)追尋者  
這篇文章主要介紹了如何獲得spring上下文的方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一 前言

打算重溫spring,以后可能每周會(huì)發(fā)一篇吧,有空就搞搞;

二 獲取上下文的幾種方式

  • AnnotationConfigApplicationContext:從一個(gè)或多個(gè)基于Java的配置類中加載Spring應(yīng)用上下文。
  • AnnotationConfigWebApplicationContext:從一個(gè)或多個(gè)基于Java的配置類中加載Spring Web應(yīng)用上下文。
  • ClassPathXmlApplicationContext:從類路徑下的一個(gè)或多個(gè)XML配置文件中加載上下文定義。
  • FileSystemXmlapplicationcontext:從文件系統(tǒng)下的一個(gè)或多個(gè)XML配置文件中加載上下文定義。
  • XmlWebApplicationContext:從Web應(yīng)用下的一個(gè)或多個(gè)XML配置文件中加載上下文定義

2.1 準(zhǔn)備工作

被單實(shí)體

public class Sheet {
  // 顏色
  private String color;
  // 長(zhǎng)度
  private String length;
  // 省略 set get
}  

sheet.xml 里面注入了Bean Sheet, 并且默認(rèn)初始化 color值為red;

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans.xsd">

  <bean id="sheet" class="com.zszxz.bean.Sheet">
    <property name="color" value="pink"></property>
  </bean>
</beans>

2.2FileSystemXmlapplicationcontext 獲取上下文

FileSystemXmlApplicationContext 構(gòu)造器參數(shù)中需要指定sheet.xml具體文件系統(tǒng)路徑;獲得上下文之后再通過getBean方法獲取Bean Sheet; 拿到對(duì)象后使用getColor 方法打印顏色,為pink;

  public static void main(String[] args) {
    // xml路徑
    String path = "C:\\java\\workspaceforresource\\study-spring\\obtain-bean-way\\src\\main\\resources\\sheet.xml";
    // 從文件系統(tǒng)中獲取上下文
    ApplicationContext applicationContext = new FileSystemXmlApplicationContext(path);
    // 獲取bean
    Sheet sheet = (Sheet) applicationContext.getBean("sheet");
    // pink
    System.out.println(sheet.getColor());
  }

2.3ClassPathXmlApplicationContext獲取上下文

ClassPathXmlApplicationContext 傳入?yún)?shù)是類路徑下sheet.xml的路徑;

  public static void main(String[] args) {
    // 獲取上下文
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("sheet.xml");
    // 獲得實(shí)例
    Sheet sheet = (Sheet) applicationContext.getBean("sheet");
    // pink
    System.out.println(sheet.getColor());
  }

2.4AnnotationConfigApplicationContext獲取上下文

AnnotationConfigApplicationContext 獲取上下文,是通過java配置的方式獲取上下文;知識(shí)追尋者這邊需要進(jìn)行java配置,內(nèi)容如下,等同于之前的sheet.xml

/**
 * @Author lsc
 * <p> sheet配置類等同于sheet.xml</p>
 */
@Configuration
public class SeetConfig {

  // 往配置類中注入Bean
  @Bean
  public Sheet sheet(){
    // 創(chuàng)建對(duì)象
    Sheet sheet = new Sheet();
    // 設(shè)置屬性
    sheet.setColor("pink");
    return sheet;
  }
}

獲取方式如下,傳入AnnotationConfigApplicationContext 參數(shù)是SeetConfig.class

  public static void main(String[] args) {
    // 獲取上下文
    ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SeetConfig.class);
    // 獲得實(shí)例
    Sheet sheet = (Sheet) applicationContext.getBean("sheet");
    // pink
    System.out.println(sheet.getColor());
  }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談mybatis-plus批量保存異常及效率優(yōu)化

    淺談mybatis-plus批量保存異常及效率優(yōu)化

    本文主要介紹了mybatis-plus批量保存異常及效率優(yōu)化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • Java中的SynchronousQueue阻塞隊(duì)列及使用場(chǎng)景解析

    Java中的SynchronousQueue阻塞隊(duì)列及使用場(chǎng)景解析

    這篇文章主要介紹了Java中的SynchronousQueue阻塞隊(duì)列及使用場(chǎng)景解析,SynchronousQueue 是 Java 中的一個(gè)特殊的阻塞隊(duì)列,它的主要特點(diǎn)是它的容量為0,這意味著 SynchronousQueue不會(huì)存儲(chǔ)任何元素,需要的朋友可以參考下
    2023-12-12
  • JAVA中AES加密方法實(shí)例分析

    JAVA中AES加密方法實(shí)例分析

    這篇文章主要介紹了JAVA中AES加密方法,實(shí)例分析了java中AES加密與解密的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Java異常類型以及處理實(shí)例詳解

    Java異常類型以及處理實(shí)例詳解

    在程序設(shè)計(jì)中,進(jìn)行異常處理是非常關(guān)鍵和重要的一部分,一個(gè)程序的異常處理框架的好壞直接影響到整個(gè)項(xiàng)目的代碼質(zhì)量以及后期維護(hù)成本和難度,這篇文章主要給大家介紹了關(guān)于Java異常類型以及處理的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • 使用SpringBoot自定義starter詳解

    使用SpringBoot自定義starter詳解

    這篇文章主要介紹了使用Spring Boot自定義starter詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助喲,需要的朋友可以參考下
    2021-05-05
  • 一文告訴你為什么要重寫hashCode()方法和equals()方法

    一文告訴你為什么要重寫hashCode()方法和equals()方法

    本篇文章帶大家了解一下為什么重寫hashCode()方法和equals()方法,文中有非常詳細(xì)的說明以及代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • spring拓展之如何定義自己的namespace

    spring拓展之如何定義自己的namespace

    這篇文章主要介紹了spring拓展之如何定義自己的namespace方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot @PostConstruct原理用法解析

    SpringBoot @PostConstruct原理用法解析

    這篇文章主要介紹了SpringBoot @PostConstruct原理用法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • springboot臨時(shí)文件存儲(chǔ)目錄配置方式

    springboot臨時(shí)文件存儲(chǔ)目錄配置方式

    這篇文章主要介紹了springboot臨時(shí)文件存儲(chǔ)目錄配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 1秒鐘實(shí)現(xiàn)Springboot?替換/寫入?word文檔里面的文字、圖片功能

    1秒鐘實(shí)現(xiàn)Springboot?替換/寫入?word文檔里面的文字、圖片功能

    這篇文章主要介紹了Springboot?替換/寫入?word文檔里面的文字、圖片,1秒鐘實(shí)現(xiàn),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12

最新評(píng)論