spring的applicationContext和beanFactory区别
来源:互联网 发布:datatype json 编辑:程序博客网 时间:2024/05/16 10:09
作用:1. BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。
2. ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能:
a. 国际化支持
b. 资源访问:Resource rs = ctx. getResource(“classpath:config.properties”), “file:c:/config.properties”
c. 事件传递:通过实现ApplicationContextAware接口
3. 常用的获取ApplicationContext的方法:
FileSystemXmlApplicationContext:从文件系统或者url指定的xml配置文件创建,参数为配置文件名或文件名数组
ClassPathXmlApplicationContext:从classpath的xml配置文件创建,可以从jar包中读取配置文件
WebApplicationContextUtils:从web应用的根目录读取配置文件,需要先在web.xml中配置,可以配置监听器或者servlet来实现
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
这两种方式都默认配置文件为web-inf/applicationContext.xml,也可使用context-param指定配置文件
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/myApplicationContext.xml</param-value>
</context-param>
public class BeanFactoryTest { public static void main(String[] args) throws Throwable{ ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource res = resolver.getResource("classpath:com/baobaotao/beanfactory/beans.xml"); System.out.println(res.getURL()); BeanFactory bf = new XmlBeanFactory(res); System.out.println("init BeanFactory."); Car car = bf.getBean("car",Car.class); System.out.println("car bean is ready for use!"); car.introduce(); }}
public class XmlApplicationContextTest { public static void main(String[] args) {
//如果配置文件放置在类路径下,用户可以优先使用ClassPathXmlApplicationContext实现类 ApplicationContext ctx = new ClassPathXmlApplicationContext("com/baobaotao/context/*.xml"); Car car1 = ctx.getBean("car",Car.class);
//如果配置文件放置在文件系统的路径下,则可以优先考虑使用FileSystemXmlApplicationContext实现类// ctx = new FileSystemXmlApplicationContext("D:/masterSpring/chapter3/src/com/baobaotao/context/*.xml");// Car car2 = ctx.getBean("car",Car.class); }}
- spring的BeanFactory和ApplicationContext的区别
- spring的applicationContext和beanFactory区别
- spring 中beanFactory和ApplicationContext的区别
- spring 中beanFactory和ApplicationContext的区别
- Spring中BeanFactory和ApplicationContext的区别
- Spring--ApplicationContext和BeanFactory区别
- BeanFactory 和 ApplicationContext的区别
- BeanFactory 和 ApplicationContext的区别
- BeanFactory 和 ApplicationContext的区别
- BeanFactory 和 ApplicationContext的区别
- BeanFactory 和 ApplicationContext的区别
- ApplicationContext和BeanFactory的区别
- BeanFactory 和 ApplicationContext的区别
- BeanFactory 和 ApplicationContext的区别
- BeanFactory和ApplicationContext的区别
- BeanFactory和ApplicationContext的区别
- BeanFactory和ApplicationContext的区别
- Spring中的beanFactory和applicationContext的联系和区别
- 心型applet
- 字符编码笔记:ASCII,Unicode和UTF-8
- import jQuery to Browser.
- Makefile.am详解
- Java socket模拟发送和接收HTTP消息
- spring的applicationContext和beanFactory区别
- 文本框input的高级代码
- Java中堆内存和栈内存详解
- git and repo 地址
- android native service编写及两个服务进程通讯
- Springmvc和poi3.9导出excel并弹出下载框
- 先验与后验概率区别
- C++实现各种基础排序(冒泡、选择、快排、插入、堆排、希尔、归并)
- matlab函数interp2及其c++代码