知识大全 直接召唤系与IoC fashion使用Spring

Posted 框架

篇首语:书卷多情似故人,晨昏忧乐每相亲。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 直接召唤系与IoC fashion使用Spring相关的知识,希望对你有一定的参考价值。

直接召唤系与IoC fashion使用Spring  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Spring再强大 也要面对降临的问题 因为Spring不是Weblogic Tomcat般的顶层容器 Servlet和EJB对象不由它创建 所以它必须要降临到Weblogic Tomcat所在的位面      初学者一般不用管那么多 照着Spring+hibernate+Struts之类的Sample就做了 但慢慢的 也许就要开始在jsp+javabean体系 土制框架 Singleton类等环境下使用Spring了      《Professional Java Development with the Spring Framework》第 章有 Managing the Containe 一节讲这个问题 一般可以分为直接召唤系与IoC fashion两类

   直接召唤系 Singleton的Application Context      最简单的 就像在UnitTest里那样 直接构造Application Context

  ApplicationContext ctx = new ClasspathXmlApplicationContext( ApplicationContext xml );          在Web环境里 会使用ContextLoader构造ApplicationContext后 压进Servlet Context       由ContextLoaderListener或ContextLoaderServlet 在Web应用启动时完成       然后在Jsp/Servelet中 可以通过Servlet Context取得ApplicationContext ApplicationContext context = WebApplicationContextUtils getWebApplicationContext(application);           但像Singleton类或者EJB中 就没有Servlet Context可用了       如果全部像UnitTest那样直接构造 速度就会很不堪 自然的 就想到把ApplicationContext做成单例       Spring提供了ContextSingletonBeanFactoryLocator这样的物体       先搞一个beanRefFactory xml 里面写上所有的applcationContext * xml文件名 并把Context命名为 default context <beans>  <bean id= default context   class= ntext support ClassPathXmlApplicationContext >    <constructor arg>      <list> <value>applicationContext xml</value></list>    </constructor arg>  </bean></beans>  然后让loactor去找它 但代码有点长 BeanFactoryReference bfr =  DefaultLocatorFactory getInstance() useBeanFactory( default context );BeanFactory factory = bfr getFactory();MyService myService = factory getBean( myService );bfr release();// now use myService

  上面的代码实在是太灵活 太麻烦了     还不如自己实现一个简单的Singleton 扩展ContextLoaderListener类 在Web系统启动时压入Singleton

  新的ContextLoaderListener类重载如下 ContextUtil中包含一个静态的ApplicationContext变量     public void contextInitialized(ServletContextEvent event)            ntextInitialized(event);

  ServletContext context = event getServletContext();        ApplicationContext ctx = WebApplicationContextUtils getRequiredWebApplicationContext(context);        ContextUtil setContext(ctx);       用家可直接取用  ApplicationContext context = ContextUtil getContext();

   IoC fashion    如果所有地方都使用直接召唤系 那就反而是在打Rod的耳光了 因为他一直都反对代码与框架深耦合的     所以 更好的方法是写一些glue code base class来完成Spring的降临 而不让应用代码察觉Spring Application Context的存在     不过 因为各个框架的结构不同 Rod也没办法讲出一个通用的整合方法 所以建议大家尽量学习已整合的各种框架 如Spring MVC Struts的种种方式 写出自己的简单整合代码来

cha138/Article/program/Java/ky/201311/28173

相关参考

丹340衍生系与玉米育种

利用丹340变异选育衍生系丹340玉米自交系是通过栽培玉米与有稃玉米杂交,并经钴60Coγ射线辐射处理后,利用辐射诱变,创造新变异而选育成功的,它的后代有不同程度的分离,育种者利用后代变异直接选育出L

知识大全 IoC、AOP

用代码学习Spring:IoC、AOP  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 对IOC和DI的理解

对IOC和DI的理解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  首先说一下什么是IOC和DI

知识大全 Spring 控制反转(IoC)容器

Spring控制反转(IoC)容器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  (二)个人整理

知识大全 Spring中IoC的入门实例详解

Spring中IoC的入门实例详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Spring的

知识大全 Spring的IoC学习笔记之BeanFactoryPostProcessor

Spring的IoC学习笔记之BeanFactoryPostProcessor  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,

知识大全 Spring IOC配置与应用

SpringIOC配置与应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   &nbs

口腔菌系与口腔卫生有何关系

口腔菌系是由口腔中各种细菌共同组成的。口腔中的细菌种类繁多,可以这样说,空气中有多少种细菌,口腔中就有多少种细菌。除此之外,口腔细菌还可来源于水和食物。  有专家作过研究,认为口腔中的细菌具有致病性的

知识大全 spring,ioc模式与ejb3的SLSB实现

spring,ioc模式与ejb3的SLSB实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 轻量级IoC容器来扩展ANT享受SPRING(图)

轻量级IoC容器来扩展ANT享受SPRING(图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!