Spring 如何初始化一个容器,( 加载xml 文件 )
来源:互联网 发布:淘宝官方短链接 编辑:程序博客网 时间:2024/06/05 07:21
什么是Spring 的 IOC 容器呢 ? 可以说 BeanFactory 就是 我们看到的Spring IoC容器.
如何初始化 SPRING 的 IOC 容器 ?
一共三种方法 :
1 :
org.springframework.core.io包中主要是各样的Resource类,Spring的
二 :关于 org.springframework.beans.factory 包 和 org.springframework.context 包:
1 :BeanFactory 是个接口,LifecycleBean 是个类它负责管理bean的生命周期,它实现了4个接口,并且有一个 BeanFactory 类型的变量 owningFactory
补充一下 上文 的 XmlBeanFactory 不是
包下面的 而是
下面的
2 。 ApplicationContext 也是个接口,它继承的 ListableBeanFactory 接口 又 继承 BeanFactory 接口
Spring的bean包支持通过编码方式管理和操作bean的基本功能,ApplicationContext则以Framework的方式提供BeanFactory的所有功能。使用
ApplicationContext,你可以让系统加载你的bean,例如:
在Servlet容器初始化ContextLoaderServlet时,通过ContextLoader类加载Spring Framework),而不是使用编码方式来加载。
ApplicationContext接口是context包的基础,位于org.springframework.context包里,提供了BeanFactory的所有功能。除此之外, ApplicationContext为了支持Framework的工作方式,提供了以下的功能:
如何初始化 SPRING 的 IOC 容器 ?
一共三种方法 :
1 :
Resource resource = new FileSystemResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
BeanFactory factory = new XmlBeanFactory(resource);
2:
ClassPathResource resource = new ClassPathResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
BeanFactory factory = new XmlBeanFactory(resource);
3:
ApplicationContext context = new ClassPathXmlApplicationContext( new String[] {"applicationContext.xml", "applicationContext-part2.xml"});
BeanFactory factory = (BeanFactory) context;
BeanFactory factory = (BeanFactory) context;
详细展开 :
一 :org.springframework.core.io包中主要是各样的Resource类
补充UML 知识 :
1:类名是斜体的表示是抽象类,正体的表示普通类
2 :
3 :
org.springframework.core.io包中主要是各样的Resource类,Spring的
Resource
接口是为了提供更强的访问底层资源能力的抽象。相当巧妙的地方在于,为何AbstractResource的子类有的override了getFile()而有的没有?这是因为在AbstractResource的getFile()方法设计为抛出异常,如果子类没有重写此方法,说明子类不支持通过绝对路径查找资源的方式,而override的子类则提供自己的实现。这里通过类的层次设计,充分利用继承带来的优点,避免了大量的条件语句。二 :关于 org.springframework.beans.factory 包 和 org.springframework.context 包:
1 :BeanFactory 是个接口,LifecycleBean 是个类它负责管理bean的生命周期,它实现了4个接口,并且有一个 BeanFactory 类型的变量 owningFactory
补充一下 上文 的 XmlBeanFactory 不是
org.springframework.beans.factory
包下面的 而是
org.springframework.beans.factory.xml
下面的
2 。 ApplicationContext 也是个接口,它继承的 ListableBeanFactory 接口 又 继承 BeanFactory 接口
public interface ApplicationContext extends ListableBeanFactory, HierarchicalBeanFactory, MessageSource, ApplicationEventPublisher, ResourcePatternResolver {
}
}
public interface ListableBeanFactory extends BeanFactory {
}
}
Spring的bean包支持通过编码方式管理和操作bean的基本功能,ApplicationContext则以Framework的方式提供BeanFactory的所有功能。使用
ApplicationContext,你可以让系统加载你的bean,例如:
在Servlet容器初始化ContextLoaderServlet时,通过ContextLoader类加载Spring Framework),而不是使用编码方式来加载。
ApplicationContext接口是context包的基础,位于org.springframework.context包里,提供了BeanFactory的所有功能。除此之外, ApplicationContext为了支持Framework的工作方式,提供了以下的功能:
l.MessageSource,提供了语言信息的国际化支持
2.提供资源(如URL和文件系统)的访问支持
3.为实现了ApplicationListener接口的bean提供了事件传播支持
4.为不同的应用环境提供不同的context,例如支持web应用的XmlWebApplicationContext类
2.提供资源(如URL和文件系统)的访问支持
3.为实现了ApplicationListener接口的bean提供了事件传播支持
4.为不同的应用环境提供不同的context,例如支持web应用的XmlWebApplicationContext类
- Spring 如何初始化一个容器,( 加载xml 文件 )
- Spring 如何初始化一个容器
- Spring 容器--如何创建和加载一个 Spring 容器?
- Spring是如何加载Xml文件的
- spring 加载XML文件
- Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(优先初始化Spring IOC容器)
- Tomcat启动时加载数据到缓存--Web.xml里listener的加载顺序,优先初始化Spring IOC容器
- Spring是如何加载XML文件中的标签的
- 如何在一个网站初始化的servlet中使用spring容器中的bean
- 通过web.xml文件自动启动spring容器加载对应的配置文件
- spring 如何加载applicationContext.xml
- 如何手动控制spring容器的加载
- spring笔记6 容器加载过程、bean初始化
- spring boot如何在所有bean初始化之前加载一个自定义类?
- Spring 容器从加载文件到创建一个完整Bean的工作流程
- spring初始化容器
- Spring初始化容器
- Spring初始化容器
- C#发现之旅第一讲 C#-XML开发
- public void doFilter(ServletRequest request, ServletResponse response,
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- soj 1085. Longge's problem
- Android高手进阶教程(二十五)之---Android 中的AIDL!!!
- Spring 如何初始化一个容器,( 加载xml 文件 )
- mac 安装django
- 【数据结构】排序算法:希尔、归并、快速、堆排序
- DirectShow Filter 编译时遇到的问题
- 最短路—1001
- 为什么同时使用commons-logging和Log4j
- 最短路—1002
- 业界浅见
- 常见排序算法的总结与比较