一、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或者容器监听器。