java 获取上下文_如何获得spring上下文的方法总结
一 前言
打算重溫spring,以后可能每周會發(fā)一篇吧,有空就搞搞;
二 獲取上下文的幾種方式
AnnotationConfigApplicationContext:從一個或多個基于Java的配置類中加載Spring應用上下文。
AnnotationConfigWebApplicationContext:從一個或多個基于Java的配置類中加載Spring Web應用上下文。
ClassPathXmlApplicationContext:從類路徑下的一個或多個XML配置文件中加載上下文定義。
FileSystemXmlapplicationcontext:從文件系統(tǒng)下的一個或多個XML配置文件中加載上下文定義。
XmlWebApplicationContext:從Web應用下的一個或多個XML配置文件中加載上下文定義
2.1 準備工作
被單實體
public class Sheet {
// 顏色
private String color;
// 長度
private String length;
// 省略 set get
}
sheet.xml 里面注入了Bean Sheet, 并且默認初始化 color值為red;
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">
2.2FileSystemXmlapplicationcontext 獲取上下文
FileSystemXmlApplicationContext 構造器參數(shù)中需要指定sheet.xml具體文件系統(tǒng)路徑;獲得上下文之后再通過getBean方法獲取Bean Sheet; 拿到對象后使用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 傳入參數(shù)是類路徑下sheet.xml的路徑;
public static void main(String[] args) {
// 獲取上下文
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("sheet.xml");
// 獲得實例
Sheet sheet = (Sheet) applicationContext.getBean("sheet");
// pink
System.out.println(sheet.getColor());
}
2.4AnnotationConfigApplicationContext獲取上下文
AnnotationConfigApplicationContext 獲取上下文,是通過java配置的方式獲取上下文;知識追尋者這邊需要進行java配置,內容如下,等同于之前的sheet.xml
/**
* @Author lsc
*
sheet配置類等同于sheet.xml
*/
@Configuration
public class SeetConfig {
// 往配置類中注入Bean
@Bean
public Sheet sheet(){
// 創(chuàng)建對象
Sheet sheet = new Sheet();
// 設置屬性
sheet.setColor("pink");
return sheet;
}
}
獲取方式如下,傳入AnnotationConfigApplicationContext 參數(shù)是SeetConfig.class
public static void main(String[] args) {
// 獲取上下文
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SeetConfig.class);
// 獲得實例
Sheet sheet = (Sheet) applicationContext.getBean("sheet");
// pink
System.out.println(sheet.getColor());
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
總結
以上是生活随笔為你收集整理的java 获取上下文_如何获得spring上下文的方法总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 部队干部什么年龄退休
- 下一篇: 如何在迷你世界中用方块打出苏联国旗