IoC容器初始化包括:Bean定義資源文件的定位、載入和注冊3個基本過程
ClassPathResource resource = new ClassPathResource("beans.xml");
DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(factory);
reader.loadBeanDefinitions(resource);
Resource,InputStreamSource的源代碼
public interface Resource extends InputStreamSource {
boolean exists();
boolean isReadable();
boolean isOpen();
URL getURL() throws IOException;
URI getURI() throws IOException;
File getFile() throws IOException;
long contentLength() throws IOException;
long lastModified() throws IOException;
Resource createRelative(String relativePath) throws IOException;
String getFilename();
String getDescription();
}
public interface InputStreamSource {
InputStream getInputStream() throws IOException;
}
Resource的結(jié)構(gòu)體系

Resource結(jié)構(gòu)體系.png
為什么要定義Resource
這里的Resource其實(shí)和第一講的BeanFactory有著異曲同工之妙,先定義好規(guī)范,讓子類去擴(kuò)展將功能完善!這里不做詳細(xì)介紹了,簡單的講一下Resource的四個子類
1.ClassPathResource:通過 ClassPathResource 以類路徑的方式進(jìn)行訪問;
2.FileSystemResource:通過 FileSystemResource 以文件系統(tǒng)絕對路徑的方式進(jìn)行訪問;
3.ServletContextResource:通過 ServletContextResource 以相對于Web應(yīng)用根目錄的方式進(jìn)行訪問。
4.UrlResource :通過java.net.URL來訪問資源,當(dāng)然它也支持File格式,如“file:”