Spring(四)——Spring容器載入的三種方式講解
阿新 • • 發佈:2020-08-26
一、類路徑獲得配置檔案
後面的路徑放到src路徑下的相對地址。
程式碼打包會把src打包到class路徑下,類路徑,就是相對src的路徑。
二、檔案系統路徑獲得配置檔案
三、使用BeanFactory
四、案例程式碼
1 package com.gyf.test; 2 3 import com.gyf.service.IUserService; 4 5 import org.junit.Test; 6 import org.springframework.beans.factory.BeanFactory; 7 import org.springframework.beans.factory.xml.XmlBeanFactory;View Code8 import org.springframework.context.ApplicationContext; 9 import org.springframework.context.support.ClassPathXmlApplicationContext; 10 import org.springframework.context.support.FileSystemXmlApplicationContext; 11 import org.springframework.core.io.FileSystemResource; 12 13 public class Lesson01 {14 @Test 15 public void test1(){ 16 //Spring容器載入有3種方式 17 //第一種:使用類路徑獲得配置檔案,ClassPathXmlApplicationContext 18 ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); 19 IUserService userService = (IUserService) context.getBean("userService");20 userService.add(); 21 22 //第二種方式:使用檔案系統路徑獲得配置檔案,FileSystemXmlApplicationContext 23 ApplicationContext context1 = 24 new FileSystemXmlApplicationContext("D:\\2018WorkSpaceXXY\\IDEA\\day02_Spring_20200825\\src\\beans.xml"); 25 IUserService userService1 = (IUserService) context1.getBean("userService"); 26 userService1.add(); 27 28 //第三種方式:使用BeanFactory 29 String path = "D:\\2018WorkSpaceXXY\\IDEA\\day02_Spring_20200825\\src\\beans.xml"; 30 BeanFactory factory = new XmlBeanFactory(new FileSystemResource(path)); 31 IUserService userService2 = (IUserService) factory.getBean("userService"); 32 userService2.add(); 33 } 34 }
五、Spring內部建立物件的原理
1. 解析XML檔案,獲取類名,id,屬性。
2. 通過反射,用類名建立物件
3. 給建立的物件賦值