- 浏览: 707199 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (260)
- web 开发 (44)
- struts (14)
- java (39)
- 我的感受 (2)
- ajax (2)
- spring (22)
- Hibernate (4)
- struts2 (1)
- java 面试题 (1)
- 英语 学习类 (2)
- jdk1.6特性 (1)
- extjs (13)
- oracle (3)
- JQuery (3)
- ┠ 『Spring 3.0』 ┨ (1)
- 『LOG4J』 (2)
- 『常用数据』 (1)
- JavaMail (0)
- 〓『 EJB3.0 』〓 (0)
- HTML5 (5)
- Canvas (0)
- spring2.5 (0)
- HPH 5 (1)
- C# .net (0)
- UML (1)
- REST (2)
- JS_validate (1)
- 项目管理文章 (1)
- 闲聊闲记 (12)
- SQL-SQL (3)
- javascript (18)
- js (4)
- linux (8)
- 电子政务 (1)
- 项目对象模型 (1)
- 系统集成项目管理 (1)
- shell (2)
- mysql (1)
- solr (5)
- cxf;services (2)
- 11 (0)
- 缓存 (1)
- cached (3)
- 单片机通信 (1)
- cached;oscache (1)
- android (15)
- android;蓝牙 (1)
- Lucene (5)
- TTS (1)
- 网络爬虫 (1)
- HtmlCleaner (1)
- iPhone (2)
- 有感而发 (1)
- Python (0)
- jetty (1)
- Redis (1)
- hadoop (1)
- socket (1)
- 色彩顾问 (1)
- javaapns (1)
- bat (1)
- object-c (4)
- ios (4)
- C-学习 (1)
- 搜索 (1)
- c# (1)
最新评论
-
annie211:
Angularjs构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入 -
潇寒听竹:
你好,请问您上传的那个APK为什么每次只能识别一次,不能连续识 ...
pocketsphinxAdroid离线语音识别---入门 -
ichenwenjin:
Angularjs构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入 -
NN_iaoiao:
问一下 你的这个People 类 是自定义的还是android ...
android 获取电话本中的联系人列表 -
wangzhe_real:
对于刚接触的我是一个很详细的教程,太感谢了
JAX-RS cxf web服务 rest简单增删改查 集成spring webService
Spring 从核心而言,是一个DI 容器,其设计哲学是提供一种无侵入式的高扩展性框架。即无需代码中涉及Spring专有类,即可将其纳入Spring容器进行管理。
作为对比,EJB则是一种高度侵入性的框架规范,它制定了众多的接口和编码规范,要求实现者必须遵从。侵入性的后果就是,一旦系统基于侵入性框架设计开发,那么之后任何脱离这个框架的企图都将付出极大的代价。
为了避免这种情况,实现无侵入性的目标。Spring 大量引入了Java 的Reflection机制,通过动态调用的方式避免硬编码方式的约束,并在此基础上建立了其核心组件BeanFactory,以此作为其依赖注入机制的实现基础。
org.springframework.beans包中包括了这些核心组件的实现类,核心中的核心为BeanWrapper和BeanFactory类。这两个类从技术角度而言并不复杂,但对于Spring 框架而言,却是关键所在,如果有时间,建议对其源码进行研读,必有所获。
(1)BeanWrapper
Spring中的核心接口:通过配置文件中的设定,java Bean就可以在运行期动态创建对象并设定其属性(依赖关系)。
(2)BeanFactory
Bean Factory,顾名思义,负责创建并维护Bean实例
Bean Factory负责根据配置文件创建Bean实例,可以配置的项目有:
<1>. Bean属性值及依赖关系(对其他Bean的引用)
<2>. Bean创建模式(是否Singleton模式,即是否只针对指定类维持全局唯一的实例)
<3>. Bean初始化和销毁方法
<4>. Bean的依赖关系
联合上面关于BeanWrapper的内容,我们可以看到,BeanWrapper实现了针对单个Bean的属性设定操作。而BeanFactory则是针对多个Bean的管理容器,根据给定的配置文件,BeanFactory从中读取类名、属性名/值,然后通过Reflection机制进行Bean加载和属性设定。
在Spring中,BeanFactory是IOC容器的核心接口。它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。
(3)ApplicationContext
BeanFactory提供了针对Java Bean的管理功能,而ApplicationContext提供了一个更为框架化的实现(从上面的示例中可以看出,BeanFactory的使用方式更加类似一个API,而非Framework style)。ApplicationContext覆盖了BeanFactory的所有功能,并提供了更多的特性。此外,ApplicationContext为与现有应用框架相整合,提供了更为开放式的实现(如对于Web应用,我们可以在web.xml中对ApplicationContext进行配置)。相对BeanFactory而言,ApplicationContext提供了以下扩展功能:
<1>. 国际化支持
我们可以在Beans.xml文件中,对程序中的语言信息(如提示信息)进行定义,将程序
中的提示信息抽取到配置文件中加以定义,为我们进行应用的各语言版本转换提供了极
大的灵活性。
<2>. 资源访问
支持对文件和URL的访问。
<3>. 事件传播
事件传播特性为系统中状态改变时的检测提供了良好支持。
<4>. 多实例加载
可以在同一个应用中加载多个Context实例。
(4)Web Context
对于Web应用,Spring提供了可配置的Application Context加载机制。
加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet。这两者在功能上完全等同,只是一个是基于Servlet2.3版本中新引入的Listener接口实现,而另一个基于Servlet接口实现。
开发中可根据目标Web容器的实际情况进行选择。
配置非常简单,在web.xml中增加:
<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容器会自动加载/WEB-INF/applicationContext.xml初始化Application Context实例,如果需要指定配置文件位置,可通过context-param加以指定:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/myApplicationContext.xml</param-value> </context-param> |
配置完成之后,即可通过WebApplicationContextUtils.getWebApplicationContext方法在Web应用中获取ApplicationContext引用。
发表评论
-
Java 数据验证
2017-05-12 10:27 1102在web开发当前就会遇到一些数据有效性验证的相关代码编 ... -
spring mvc rest 小例子
2012-05-24 15:35 1839http://localhost:8080/mainrest/ ... -
JAX-RS cxf web服务 rest简单增删改查 集成spring webService
2011-09-14 14:35 5762没时间什么也不多说了。所有的话都在代码里。 ... -
aop svn
2010-11-30 08:31 1017aop http://student.csdn.net/sp ... -
spring 2.5 mvc 注解 ajax 实现
2010-03-07 19:30 4261spring 2.5 的mvc 大量的使用了注解,减少了xml ... -
spring 2.5 注释驱动的IOC功能
2010-03-04 04:18 1564spring 注释功相当于 以前在spring的配置文件的b ... -
spring 2.0_MVC+Ibatis web 实例
2010-03-04 01:50 2591这个便子是我在面试之后回来做的, 前段时间不久,我去面 ... -
spring 2.0 配置文 件头
2010-02-28 00:02 129<?xml version="1.0" ... -
Spring Jar包详解
2010-01-28 13:35 1314摘自:http://vc88.iteye.com/ ... -
spring配置事务
2010-01-27 17:38 1979<?xml version="1.0" ... -
SSH(Spring+Struts+Hibernate)综合应用
2009-08-04 23:56 1508(1)Struts与Spring整合 <1> 在 ... -
spring 事务管理
2009-08-04 23:31 1666对于J2EE 应用程序而言,事务的处理一般有两种模式: ... -
在Spring应用中使用Hibernate
2009-08-04 11:56 1040<1>Spring in Hibernate示例 ... -
JDBC操作的Java对象化
2009-08-03 23:41 133org.springframework.jdbc.object ... -
基于Spring的数据访问
2009-08-03 22:52 1083(1)在Spring应用中使用JDBC Spring对JDB ... -
Spring中常用三种通知
2009-08-03 17:14 1247(1)前置通知 接口:org.springframework ... -
Spring的体系结构
2009-08-03 16:42 3856Spring 框架是一个分层架 ... -
spring 中 Bean继承
2009-08-03 16:29 2036某些情况下,你也许需要定义多个实现了共用接口的相同类型的bea ... -
spring 中自动装配你的Bean
2009-08-03 16:27 1881如果你不喜欢自己将你的程序装配起来,你可以尝试让Spring自 ... -
spring 注入参数(Injection Parameters)
2009-08-03 16:25 3046(1)简单的值注入 将简单的值注入到beans里面是很简单的 ...
相关推荐
在普元EOS平台中,SpringBean同样扮演着重要角色,用于封装业务逻辑、数据访问等功能。通过合理地设计和配置SpringBean,可以极大地提高开发效率和系统的可维护性。 #### 开发前准备 - **首选项代码模板配置**:在...
在Spring框架中,bean的实例化是其核心功能之一,它允许我们管理应用程序中的对象生命周期。本篇将详细探讨两种工厂方法——实例工厂方法和静态工厂方法,用于创建Spring Bean。 首先,我们要理解Spring Bean的概念...
`<beans>`元素是Spring配置文件的根元素,用于封装一个或多个`<bean>`元素。这使得开发人员能够在一个文件中定义和配置多个Bean,从而简化了应用程序的配置过程。 #### `<bean>` 元素 `<bean>`元素用于告诉Spring...
Spring的Bean封装机制是其核心功能之一,主要包括: - **Bean Wrapper**:提供了一种访问和操作Bean属性的方法,支持读写操作,是Spring Bean管理的重要组成部分。 - **Bean Factory**:是Spring容器的基础,负责...
通过对Spring框架核心概念的详细解读,如依赖注入的不同实现类型、Bean封装机制等,本书为开发者提供了坚实的基础,助力他们在实际项目中灵活运用Spring框架,构建高效、可维护的企业级应用程序。无论是新手还是有...
- **Spring Bean 封装机制**: - **BeanWrapper**:提供了一种统一的方式处理不同类型的 Bean 属性。 - **BeanFactory**:负责实例化、定位和配置应用程序中的对象。 - **ApplicationContext**:扩展了 `...
### Spring 开发指南Xiaxin (夏昕)...此外,本书还介绍了依赖注入的不同实现方式及其优缺点,以及Spring框架提供的Bean封装机制等内容。对于希望深入理解和应用Spring框架的开发者来说,本书是一份不可多得的宝贵资料。
Spring框架通过Bean封装机制管理应用程序中的对象,这些对象被称为“Beans”。Bean的生命周期、配置和依赖关系都在Spring容器的控制之下,使得开发者可以专注于业务逻辑而不是基础设施的细节。 1. **Bean Wrapper**...
- **Spring Bean封装机制**:Bean是Spring框架中的核心组件,用于表示应用程序中的对象。文档介绍了Bean Wrapper和Bean Factory两种Bean封装机制,前者提供了对Bean属性操作的封装,后者负责Bean实例的创建和管理,...
#### 四、Spring Bean封装机制 - **Bean Wrapper**:提供了操作Bean的方法,可以用来获取和设置Bean的属性。 - **Bean Factory**:是最基本的容器,负责实例化、定位和配置对象,是所有容器的基类。 - **...
#### Spring Bean封装机制 Spring框架提供了一种灵活的方式来管理对象的生命周期,这主要通过Bean Factory和ApplicationContext来实现。 - **Bean Wrapper**:Bean Wrapper提供了一种封装Bean的方法,它支持读取和...
#### Spring Bean封装机制 Spring框架通过Bean Factory或ApplicationContext来管理对象的生命周期。Bean Factory是最基本的容器,负责实例化、定位和配置应用程序中的对象,即“Beans”。ApplicationContext则提供...
#### 四、Spring Bean封装机制 - **BeanWrapper**:是Spring提供的用于封装JavaBean的一个接口,它提供了对Bean属性的读写操作。 - **作用**:BeanWrapper提供了统一的接口来访问和修改Bean的属性,简化了对Bean的...
#### Spring Bean封装机制 Spring框架通过Bean Wrapper和Bean Factory等机制来管理和封装Bean。 - **Bean Wrapper**:提供了对Bean属性的访问和操作。它可以用来获取或设置Bean的属性值。 - **Bean Factory**:是...
#### Spring Bean封装机制 Spring通过Bean Wrapper和Bean Factory等机制实现了对Bean的封装和管理: - **Bean Wrapper**:提供了对Bean属性的访问和操作接口,支持属性的读取、设置和监听。 - **Bean Factory**:...
#### Spring Bean封装机制 Spring提供了多种机制来封装和管理Bean,包括: - **BeanWrapper**:提供了访问和操作Bean属性的统一接口,支持类型转换和属性编辑。 - **BeanFactory**:Spring的最基本工厂接口,负责...
- SpringBean封装机制包括BeanWrapper、BeanFactory和ApplicationContext等概念,它们是Spring框架中管理Bean生命周期和依赖的核心组件。 - Spring高级特性章节讲解了Spring框架的高级用法,例如Web应用与MVC、...
##### Spring Bean封装机制 Spring框架通过一系列的API提供了强大的Bean封装功能。 - **BeanWrapper**:用于封装单个Bean对象,提供了统一的接口来操作Bean属性。 - **BeanFactory**:是Spring容器的基础接口,...