1. 程式人生 > 實用技巧 >Spring(四)——Spring容器載入的三種方式講解

Spring(四)——Spring容器載入的三種方式講解

一、類路徑獲得配置檔案

後面的路徑放到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;
8 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 }
View Code

五、Spring內部建立物件的原理

1. 解析XML檔案,獲取類名,id,屬性。

2. 通過反射,用類名建立物件

3. 給建立的物件賦值