這篇文章主要講解了獲得spring上下文的方法,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)和四川雅安服務(wù)器托管的網(wǎng)絡(luò)公司,有著豐富的建站經(jīng)驗(yàn)和案例。
一 前言
打算重溫spring,以后可能每周會(huì)發(fā)一篇吧,有空就搞搞;
二 獲取上下文的幾種方式
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"?>
2.2FileSystemXmlapplicationcontext 獲取上下文
FileSystemXmlApplicationContext 構(gòu)造器參數(shù)中需要指定sheet.xml具體文件系統(tǒng)路徑;獲得上下文之后再通過(guò)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 獲取上下文,是通過(guò)java配置的方式獲取上下文;知識(shí)追尋者這邊需要進(jìn)行java配置,內(nèi)容如下,等同于之前的sheet.xml
/** * @Author lsc *sheet配置類等同于sheet.xml
*/ @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()); }
看完上述內(nèi)容,是不是對(duì)獲得spring上下文的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。