- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 深入Spring技术;12.1.1 控制反转与依赖注入
12.1.2 依赖注入的实现方式;依赖注入(Dependency Injection, DI)和控制反转(Inversion of Control,IoC)的含义完全相同,只是从两个不同的角度来描述。
从依赖注入的角度描述就是:一个类不需要去查找或实例化它们所依赖的类。对象间的依赖关系是在对象创建时由负责协调项目中各个对象的外部容器来提供并管理的。也就是强调了对象间的依赖关系是由容器在运行期间“注入”调用者的,控制程序间关系的实现交给了外部的容器来完成。这样,当调用者需要被调用者时,调用者不需要知道具体实现细节,它只需要从容器中拿出一个对象并使用就可以了。通过下面这个例子可以更好的理解依赖注入。
;1.设值注入
2.构造方法注入
3.接口注入
;12.2.1 简单Bean的配置
12.2.2 合作者Bean的配置
12.2.3 注入集合值
;Spring的IoC容器支??两种格式的配置文件:Properties文件格式和XML文件格式。通过XML配置文件来注册并管理Bean之间的依赖关系,是最常用的配置文件表达方式,本书示例也使用XML文件的形式来完成Bean的配置。
1.定义Bean
2. 设置简单属性值
;一个Bean依赖另一个Bean,称为合作者。如果需要为Bean设置的属性值是容器中的另一个Bean实例,则可以在Spring的配置文件中使用property元素的子元素ref将一个Bean注入到另一个Bean中。也可以使用property元素的ref属性来完成注入,两种方式的效果相同,使用ref属性的方式更为简洁。
配置合作者Bean时首先必须配置两个bean元素:一个被注入的Bean和一个待注入的目标,然后,就可以简单地在目标上使用ref属性配置注入了。;注入集合值并不复杂:使用list、map、set或props元素来分别表示List、Map、Set或者Properties对象,然后向其中传入任何可用于注入的其他类型的独立元素(就像给普通的property标签配置属性一样)。;12.3.1管理Bean的生命周期
12.3.2 Spring容器中Bean的作用域
12.3.3 Bean的实例化
12.3.4 Bean的销毁
12.3.5 协调作用域不同的Bean;管理Bean的生命周期重点是在某个Bean生命周期的哪些指定时刻能够接受通知。这样能够允许你的Bean在其存活期间的指定时刻完成一些相关操作。这样的时刻可能有许多,但一般而言,有两个生命周期时刻与Bean的关系尤为重要:postinitiation(初始化后)和predestruction(销毁前)。
Spring为Bean提供两种机制来利用上述声明周期。Spring广泛运用了基于接口的机制,编程人员不需要每次都指定Bean的初始化和销毁。然而在需要不同处理的Bean中,使用基于方法的机制可能效果更好。总的来说:选择何种机制来接受生命周期的通知视程序的需求而定。;在Spring容器初始化一个Bean实例时,可以同时为其指定特定的作用域。在Spring 2.0之前,Bean只有两种作用域,分别是singleton(单例)和prototype(原型),Spring 2.0以后又增加了session、request、global Session三种专用于Web应用程序上下文的Bean。现在的Spring 4.0中,又增加了application作用域,同时,用户还可以根据需要,增加新的自定义作用域。singleton和prototype两种最为常用。;当一个Bean实例化时,往往需要执行一些初始化工作,然后才能使用该Bean实例。反之,当不再需要某个Bean实例时,则需要从容器中删除它,此时也要按顺序做一些清理工作。
Spring提供两种方法在Bean全部属性设置成功后执行指定行为:
1.使用init-method属性;
2.实现initializingBean接口。;与初始化对应,Spring也提供了两种方法在Bean实例销毁之前执行指定的动作。
1.使用destroy-method属性;
2.实现DisposableBean接口;
3.实现DisposableBean接口。
;在大多数情况下,容器中的Bean都是singleton类型的。如果一个singleton Bean依赖另一个singleton Bean,或者一个prototype Bean依赖一个singleton Bean,又或者一个prototype Bean依赖另一个prototype Bean时,只需在property标签中定义这两个Bean的依赖关系就可以了。
但是,如果一个singleton Bean依赖
您可能关注的文档
- iOS开发标准教程第17章.ppt
- iOS开发标准教程第18章.ppt
- iOS开发标准教程第19章.ppt
- iOS开发标准教程第20章.ppt
- Java EE 6 企业级应用开发教程第1章 软构件与中间件技术.ppt
- Java EE 6 企业级应用开发教程第2章 Servlet程序开发.pptx
- Java EE 6 企业级应用开发教程第3章 JSP程序开发.pptx
- Java EE 6 企业级应用开发教程第4章 JSF.pptx
- Java EE 6 企业级应用开发教程第4章 JSF例子.ppt
- Java EE 6 企业级应用开发教程第5章 JDBC.ppt
- Java Web开发教程第13章 SSH集成方法及综合实例.pptx
- Java Web应用开发技术第2章 Servlet基础.ppt
- Java Web应用开发技术第3章 使用Servlet处理HTTP响应.pptx
- Java Web应用开发技术第4章 使用Servlet处理HTTP请求.ppt
- Java Web应用开发技术第5章 Web应用程序状态管理.ppt
- Java Web应用开发技术第7章 过滤器.ppt
- Java Web应用开发技术第8章 JSP基础.pptx
- Java Web应用开发技术第12章 Web应用程序异常处理.ppt
- Java Web应用开发技术第13章 JavaWeb应用程序安全.ppt
- Java Web应用开发技术第14章 Web服务.ppt
文档评论(0)