03-Bean的高_特性.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
03-Bean的高_特性

第三章 Bean 的高级特性 前章回顾 容器实例化bean的三种方式 两种注入方式的配置 常规类型的注入 Bean引用的注入 集合的注入 Bean的作用域 Bean的生命周期 Bean的继承 注入依赖对象的方式 Spring2.5自动扫描机制 本章内容 Bean的作用域 使用scope属性定义bean的作用域。 默认的scope为singleton。 Spring支持的bean作用域 singleton 容器只为bean创建一个实例。 prototype 每次请求bean时。都会创建一个新的实例。 request 用于web应用,bean在一次请求中有效。 session 用于web应用,bean在整个会话中有效。 request 和 session 作用域。 只在Web应用中有效。 须在Web应用中增加额外的配置。 RequestContextListener RequestContextFilter Bean的作用域 listener listener-class org.springframework.web.context.request.RequestContextListener /listener-class /listener filter filter-namerequestContextFilter/filter-name filter-classorg.springframework.web.filter.RequestContextFilter/filter-class /filter filter-mapping filter-namerequestContextFilter/filter-name url-pattern/*/url-pattern /filter-mapping 延迟初始化bean 在Spring 容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定bean节点的lazy-init=“true”来延迟初始化bean,这时候,只有第一次获取bean时才初始化bean。如: bean id=xxx class=“org.cric.OrderServiceBean lazy-init=true/ 如果想对所有bean都应用延迟初始化,可以在根节点beans设置default-lazy-init=“true“,如下: beans default-lazy-init=true“ ... 不建议使用。 Bean的作用域 强制初始化Bean。 Spring默认总是先初始化主调Bean,然后再初始化依赖Bean。 极端的情况时,依赖的Bean没有实时初始化。 depends-on 属性。可在初始化主调Bean之前,强制初始化一个或多个Bean。 Bean的作用域 scope属性为prototype的bean 客户端每次请求(调用getBean(“”)方法)都产生一个新的实例。 实例化后,完全交给客户端代码管理,容器不再追踪其生命周期。并不知道bean何时销毁。 scope属性为singleton的bean scope的默认属性值。 客户端每次请求都返回一个共享实例。 客户端不能控制bean的生命周期。 由容器控制bean的产生,销毁。 Bean的生命周期 Spring 容器知道singleton bean何时实例化结束,何时销毁。 Spring容器可以管理实例化结束之后和销毁之前的行为。 管理bean的生命周期行为: bean的全部依赖注入之后。 bean即将销毁之前。 Bean的生命周期 管理Bean全部依赖注入之后的行为的方法 方法一:使用init-method属性 方法二:实现InitializingBean接口 实现方法 afterpropertiesSet(),此方法就是依赖注入之后的自动执行体。 实现InitializingBean接口污染了代码,是侵入式设计,推荐使用init-method属性。 Bean的生命周期 !-- 使用init-method属性指定init方法的执行时机 -- bean id=person class=org.cric.action.PersonAction init-method=init/ 管理Bean销毁之前的行为的方法 方法一:使用destroy-method属性 方法二:实现DisposableBean接口 实现destroy(),此方法就是bean销毁之前的自动执行体。 实现DisposableBean接口污染了代码,是侵入式设计,推荐使用destroy-method属性。 Bean的生命周期 !-- 使用destroy-method属性指定

文档评论(0)

me54545 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档