一、ClassPathXmlApplicationContextweb
二、FileSystemXmlApplicationContext數據庫
三、XmlWebApplicationContextspa
四、WebApplicationContext3d
Context的實現類有不少,可是 CI 是惟一作具體工做的,其餘實現都是對 CI 作代理。CI 中有一些成員對象,先來看看這些對象的用處:代理
1.mResources(Resources):獲取 Apk 中 Res 資源的對象。code
2.mOuterContext(Context):用於指向代理本對象的 Context,例如 Activity、Service 等。xml
3.mTheme(Resources.Theme):主題對象
4.mPackageManager(PM):包管理類,不只能夠獲取咱們apk包的信息,還能獲取本機apk包的信息。資源
CI 中有不少 Api,我將這些 Api 歸了一下類:get
1.Service 操做:啓動、中止、重啓、綁定、解綁、獲取系統服務以及多用戶操做。
2.權限操做:檢查本 App 是否有某種權限、檢查某 App 是否有某種權限、檢查Uri權限、授予權限等等。
3.關於 SP 的操做:咱們知道 SP 其實就是 Xml 文件,因此這裏的操做有:獲取、移動、刪除。
4.文件操做:增刪移文件、打開文件流、獲取 App 私有文件夾地址等等。
5.數據庫操做:咱們知道 Sqlite 實際上是一種文件型數據庫,因此有:打開、建立、移動、刪除、獲取數據庫文件路徑等操做。
1.
ClassPathXmlApplicationContext e1. ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); e2. String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"}; ApplicationContext ctx = new ClassPathXmlApplication(locations);
注:其中FileSystemXmlApplicationContext和ClassPathXmlApplicationContext與BeanFactory的xml文件定位方式同樣是基於路徑的。
2.
FileSystemXmlApplicationContext e1. ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml"); //加載單個配置文件 e2. String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"}; ApplicationContext ctx = new FileSystemXmlApplicationContext(locations );
3.
XmlWebApplicationContext e1. ServletContext servletContext = request.getSession().getServletContext(); ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);
4.
WebApplicationContext初始化須要ServletContext事例,可在web.xml中配置啓動Servlet或者容器監聽器。