Spring 基础
2016-05-05 10:26
363 查看
Spring 基础
一、认识Bean
在Spring中,那些组成应用的主体(backbone)及由Spring IoC容器所管理的对象被称之为bean。简单地讲,bean就是由Spring容器初始化、装配及被管理的对象,除此之外,bean就没有特别之处了(与应用中的其他对象没有什么区别)。而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。
二、认识BeanFactory
org.springframework.beans.factory.BeanFactory是Spring IoC容器的实际代表者,IoC容器负责容纳此前所描述的bean,并对bean进行管理。
BeanFactory负责读取Bean定义文件,管理对象的加载、生成、维护Bean对象与Bean对象之间的依赖关系,负责Bean的生命周期,对于简单的应用程序来说,使用BeanFactory就足够来管理Bean,在对象的管理上就可以获得许多的便利性。
BeanFactory是整个Spring围绕的重点。它负责读取Bean配置管理。可以借由getBean()方法来获取Bean的实例。
三、ApplicationContext
不过作为一个应用程序框架,只提供Bean容器管理的功能是不够的,若要利用Spring所提供的一些特色以及高级的容器功能,则可以使用BeanFactory的子接口ApplicationContext,此接口的基本功能与BeanFactory接口很相似,另外还提供了一个应用程序所需的更完整的框架功能:
1、提供获取资源文件的更方便的方法;
2、提供文字消息解析的方法;
3、支持国际化消息;
4、ApplicationContext可以发布时间,对时间感兴趣的Bean可以接收到这些事件。
简而言之,BeanFactory提供了配制框架及基本功能,而ApplicationContext则增加了更多支持企业核心内容的功能。ApplicationContext完全由BeanFactory扩展而来,因而BeanFactory所具备的能力和行为也适ApplicationContext
Spring的创始者Rod Johnson建议使用ApplicationContext来取代BeanFactory,在实现ApplicationContext的类中,最常使用的大概是一下三个:
org.springframework.context.support.ClassPathXmlApplicationContext
org.springframework.context.support.FileSystemXmlApplicationContext
org.springframework.web.context.support.XmlWebApplicationContext
四、接口选择之惑
在实际应用中,用户有时候不知道到底是选择BeanFactory接口还是ApplicationContext接口。但是通常在构建J2EE应用时,使用ApplicationContext将是更好的选择,因为它不仅提供了BeanFactory的所有特性,同时也允许使用更多的声明方式来得到我们想要的功能。
五、Spring的Bean配置
Spring支持三种配置元数据格式:XML格式、Java属性文件格式或使用Spring公共API编程实现。
六、实例化Spring Ioc容器
Resource resource = new FileSystemResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
ClassPathResource resource = new ClassPathResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
ApplicationContext context = new FileSystemXmlApplicationContext("beans.xml");
ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml", "applicationContext-part2.xml"});
// of course, an ApplicationContext is just a BeanFactory
BeanFactory factory = (BeanFactory) context;
一、认识Bean
在Spring中,那些组成应用的主体(backbone)及由Spring IoC容器所管理的对象被称之为bean。简单地讲,bean就是由Spring容器初始化、装配及被管理的对象,除此之外,bean就没有特别之处了(与应用中的其他对象没有什么区别)。而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。
二、认识BeanFactory
org.springframework.beans.factory.BeanFactory是Spring IoC容器的实际代表者,IoC容器负责容纳此前所描述的bean,并对bean进行管理。
BeanFactory负责读取Bean定义文件,管理对象的加载、生成、维护Bean对象与Bean对象之间的依赖关系,负责Bean的生命周期,对于简单的应用程序来说,使用BeanFactory就足够来管理Bean,在对象的管理上就可以获得许多的便利性。
BeanFactory是整个Spring围绕的重点。它负责读取Bean配置管理。可以借由getBean()方法来获取Bean的实例。
三、ApplicationContext
不过作为一个应用程序框架,只提供Bean容器管理的功能是不够的,若要利用Spring所提供的一些特色以及高级的容器功能,则可以使用BeanFactory的子接口ApplicationContext,此接口的基本功能与BeanFactory接口很相似,另外还提供了一个应用程序所需的更完整的框架功能:
1、提供获取资源文件的更方便的方法;
2、提供文字消息解析的方法;
3、支持国际化消息;
4、ApplicationContext可以发布时间,对时间感兴趣的Bean可以接收到这些事件。
简而言之,BeanFactory提供了配制框架及基本功能,而ApplicationContext则增加了更多支持企业核心内容的功能。ApplicationContext完全由BeanFactory扩展而来,因而BeanFactory所具备的能力和行为也适ApplicationContext
Spring的创始者Rod Johnson建议使用ApplicationContext来取代BeanFactory,在实现ApplicationContext的类中,最常使用的大概是一下三个:
org.springframework.context.support.ClassPathXmlApplicationContext
org.springframework.context.support.FileSystemXmlApplicationContext
org.springframework.web.context.support.XmlWebApplicationContext
四、接口选择之惑
在实际应用中,用户有时候不知道到底是选择BeanFactory接口还是ApplicationContext接口。但是通常在构建J2EE应用时,使用ApplicationContext将是更好的选择,因为它不仅提供了BeanFactory的所有特性,同时也允许使用更多的声明方式来得到我们想要的功能。
五、Spring的Bean配置
Spring支持三种配置元数据格式:XML格式、Java属性文件格式或使用Spring公共API编程实现。
六、实例化Spring Ioc容器
Resource resource = new FileSystemResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
ClassPathResource resource = new ClassPathResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
ApplicationContext context = new FileSystemXmlApplicationContext("beans.xml");
ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml", "applicationContext-part2.xml"});
// of course, an ApplicationContext is just a BeanFactory
BeanFactory factory = (BeanFactory) context;
相关文章推荐
- java反射:获取父类中的所有属性和方法工具类
- SpringMVC学习系列(9) 之 实现注解式权限验证
- Java socket编程
- 自己用java写的快速排序
- java获取当前类的绝对路径
- LeetCode 1: Two Sum
- ElasticSearch安装,jdk的配置
- Spring+Quartz整合
- Eclipse主题更换方法
- struts.xml配置文件详解
- 变量和常量
- Java常量池解析与字符串intern简介
- [Java]Servlet编程(持续更新)
- 学习总结 java 创建及其练习
- Java 里 properties 的使用
- 关于spring注解配置
- java 通过jdbc驱动连接hive操作实例
- Java String 对 null 对象的容错处理
- 彻底搞懂 RxJava
- Java 多线程处理任务的封装