`
jackhuang
  • 浏览: 54236 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

tapestry5集成spring遇到一个实例不了的bean?

阅读更多
java 代码

      今天想集成tapestry5,spring ,hibernate,jdbc.缺遇到了一个奇怪的问题.现在我把spring的配置XML帖一下

xml 代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"   
  3.     "http://www.springframework.org/dtd/spring-beans.dtd">  
  4.   
  5. <beans>  
  6.     <!-- Transction Intercetor's Template -->  
  7.     <bean id="transactionIntercetorTemplate" abstract="true">  
  8.         <property name="transactionAttributes">  
  9.             <props>  
  10.                 <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>  
  11.                 <prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>  
  12.                 <prop key="check*">PROPAGATION_REQUIRED,readOnly</prop>  
  13.                 <prop key="insert*">PROPAGATION_REQUIRED, -Exception</prop>  
  14.                 <prop key="update*">PROPAGATION_REQUIRED, -Exception</prop>  
  15.                 <prop key="delete*">PROPAGATION_REQUIRED, -Exception</prop>  
  16.                 <prop key="save*">PROPAGATION_REQUIRED, -Exception</prop>  
  17.                 <prop key="*">PROPAGATION_REQUIRED, -Exception</prop>  
  18.             </props>  
  19.         </property>  
  20.     </bean>  
  21.   
  22.     <!-- Hibernate Transaction Interceptor Definition -->          
  23.     <bean id="hibernateTransactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor" parent="transactionIntercetorTemplate">  
  24.         <property name="transactionManager">  
  25.             <bean id="hibernateTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  26.                 <property name="sessionFactory">  
  27.                     <ref bean="sessionFactory" />  
  28.                 </property>  
  29.             </bean>  
  30.         </property>  
  31.     </bean>  
  32.   
  33.     <!-- Jdbc Transaction Interceptor Definition -->  
  34.     <bean id="jdbcTransactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor" parent="transactionIntercetorTemplate">  
  35.         <property name="transactionManager">  
  36.             <bean id="jdbcTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  37.                 <property name="dataSource">  
  38.                     <ref bean="dataSource" />  
  39.                 </property>  
  40.             </bean>  
  41.         </property>  
  42.     </bean>  
  43.   
  44.     <!-- Auto Proxy Creator Definition -->  
  45.     <bean id="autoProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">  
  46.         <property name="interceptorNames">  
  47.             <list>  
  48.                 <idref bean="hibernateTransactionInterceptor" />  
  49.                 <idref bean="jdbcTransactionInterceptor" />  
  50.             </list>  
  51.         </property>  
  52.          
  53.         <property name="beanNames">  
  54.             <list>  
  55.                 <!-- Add Service name to here for proxy begin -->  
  56.                 <idref bean="userService"/>  
  57.                 <!-- Add Service name to here for proxy end -->  
  58.             </list>  
  59.         </property>  
  60.     </bean>  
  61.   
  62.     <!-- hibernateDao Template, all use hibernate transaction manager should extends it -->  
  63.     <bean id="hibernateDaoTemplate" abstract="true">  
  64.         <property name="sessionFactory">  
  65.             <ref bean="sessionFactory" />  
  66.         </property>  
  67.     </bean>  
  68.   
  69.     <!-- jdbcDao Template, all use jdbc transaction manager should extends it -->  
  70.     <bean id="jdbcDaoTemplate" abstract="true">  
  71.         <property name="dataSource">  
  72.             <ref bean="dataSource" />  
  73.         </property>  
  74.     </bean>  
  75. </beans>  

报了以下错误,说不能创建这个bean.

4:15:09.250 ERROR! [main] org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:64) >14> Construction of service ServletApplicationInitializer failed: Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
java.lang.RuntimeException: Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
 at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:348)
 at org.apache.tapestry.ioc.internal.ModuleImpl.getModuleBuilder(ModuleImpl.java:273)
 at org.apache.tapestry.ioc.internal.ServiceResourcesImpl.getModuleBuilder(ServiceResourcesImpl.java:106)
 at org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:61)
 at org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
 at org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
 at org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
 at org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
 at org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
 at $ServletApplicationInitializer_1134ceb811c._delegate($ServletApplicationInitializer_1134ceb811c.java)
 at $ServletApplicationInitializer_1134ceb811c.initializeApplication($ServletApplicationInitializer_1134ceb811c.java)
 at org.apache.tapestry.TapestryFilter.init(TapestryFilter.java:86)
 at org.mortbay.jetty.servlet.FilterHolder.start(FilterHolder.java:71)
 at org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:310)
 at org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:509)
 at org.mortbay.util.Container.start(Container.java:72)
 at org.mortbay.http.HttpServer.doStart(HttpServer.java:708)
 at org.mortbay.util.Container.start(Container.java:72)
 at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:282)
 at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:104)
 at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:75)
Caused by: org.springframework.beans.factory.BeanIsAbstractException: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
 at org.springframework.beans.factory.support.AbstractBeanFactory.checkMergedBeanDefinition(AbstractBeanFactory.java:767)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:220)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
 at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:537)
 at org.apache.tapestry.internal.spring.SpringModuleDef$1.getBean(SpringModuleDef.java:57)
 at org.apache.tapestry.internal.spring.SpringModuleDef$1.getServiceInterface(SpringModuleDef.java:78)
 at org.apache.tapestry.ioc.internal.ModuleImpl.findServiceIdsForInterface(ModuleImpl.java:148)
 at org.apache.tapestry.ioc.internal.RegistryImpl.findServiceIdsForInterface(RegistryImpl.java:470)
 at org.apache.tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:439)
 at org.apache.tapestry.ioc.services.TapestryIOCModule$2.provide(TapestryIOCModule.java:132)
 at $ObjectProvider_1134ceb8123.provide($ObjectProvider_1134ceb8123.java)
 at $ObjectProvider_1134ceb811d.provide($ObjectProvider_1134ceb811d.java)
 at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
 at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
 at org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
 at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
 at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
 at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:327)
 ... 20 more

14:15:09.265 INFO   [main] org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:152) >10> Initializing filter 'OpenSessionInViewFilter'
14:15:09.296 INFO   [main] org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:177) >10> Filter 'OpenSessionInViewFilter' configured successfully
org.mortbay.util.MultiException[java.lang.RuntimeException: Exception constructing service 'ServletApplicationInitializer': Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract]
 at org.mortbay.http.HttpServer.doStart(HttpServer.java:686)
 at org.mortbay.util.Container.start(Container.java:72)
 at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:282)
 at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:104)
 at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:75)
java.lang.RuntimeException: Exception constructing service 'ServletApplicationInitializer': Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
 at org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:69)
 at $ServletApplicationInitializer_1134ceb811c._delegate($ServletApplicationInitializer_1134ceb811c.java)
 at $ServletApplicationInitializer_1134ceb811c.initializeApplication($ServletApplicationInitializer_1134ceb811c.java)
 at org.apache.tapestry.TapestryFilter.init(TapestryFilter.java:86)
 at org.mortbay.jetty.servlet.FilterHolder.start(FilterHolder.java:71)
 at org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:310)
 at org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:509)
 at org.mortbay.util.Container.start(Container.java:72)
 at org.mortbay.http.HttpServer.doStart(HttpServer.java:708)
 at org.mortbay.util.Container.start(Container.java:72)
 at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:282)
 at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:104)
 at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:75)
Caused by: java.lang.RuntimeException: Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
 at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:348)
 at org.apache.tapestry.ioc.internal.ModuleImpl.getModuleBuilder(ModuleImpl.java:273)
 at org.apache.tapestry.ioc.internal.ServiceResourcesImpl.getModuleBuilder(ServiceResourcesImpl.java:106)
 at org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:61)
 at org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
 at org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
 at org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
 at org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
 at org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
 ... 12 more
Caused by: org.springframework.beans.factory.BeanIsAbstractException: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
 at org.springframework.beans.factory.support.AbstractBeanFactory.checkMergedBeanDefinition(AbstractBeanFactory.java:767)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:220)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
 at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:537)
 at org.apache.tapestry.internal.spring.SpringModuleDef$1.getBean(SpringModuleDef.java:57)
 at org.apache.tapestry.internal.spring.SpringModuleDef$1.getServiceInterface(SpringModuleDef.java:78)
 at org.apache.tapestry.ioc.internal.ModuleImpl.findServiceIdsForInterface(ModuleImpl.java:148)
 at org.apache.tapestry.ioc.internal.RegistryImpl.findServiceIdsForInterface(RegistryImpl.java:470)
 at org.apache.tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:439)
 at org.apache.tapestry.ioc.services.TapestryIOCModule$2.provide(TapestryIOCModule.java:132)
 at $ObjectProvider_1134ceb8123.provide($ObjectProvider_1134ceb8123.java)
 at $ObjectProvider_1134ceb811d.provide($ObjectProvider_1134ceb811d.java)
 at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
 at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
 at org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
 at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
 at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
 at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:327)
 ... 20 more
java.lang.RuntimeException: Exception constructing service 'ServletApplicationInitializer': Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
 at org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:69)
 at $ServletApplicationInitializer_1134ceb811c._delegate($ServletApplicationInitializer_1134ceb811c.java)
 at $ServletApplicationInitializer_1134ceb811c.initializeApplication($ServletApplicationInitializer_1134ceb811c.java)
 at org.apache.tapestry.TapestryFilter.init(TapestryFilter.java:86)
 at org.mortbay.jetty.servlet.FilterHolder.start(FilterHolder.java:71)
 at org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:310)
 at org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:509)
 at org.mortbay.util.Container.start(Container.java:72)
 at org.mortbay.http.HttpServer.doStart(HttpServer.java:708)
 at org.mortbay.util.Container.start(Container.java:72)
 at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:282)
 at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:104)
 at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:75)
Caused by: java.lang.RuntimeException: Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
 at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:348)
 at org.apache.tapestry.ioc.internal.ModuleImpl.getModuleBuilder(ModuleImpl.java:273)
 at org.apache.tapestry.ioc.internal.ServiceResourcesImpl.getModuleBuilder(ServiceResourcesImpl.java:106)
 at org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:61)
 at org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
 at org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
 at org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
 at org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
 at org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
 ... 12 more
Caused by: org.springframework.beans.factory.BeanIsAbstractException: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
 at org.springframework.beans.factory.support.AbstractBeanFactory.checkMergedBeanDefinition(AbstractBeanFactory.java:767)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:220)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
 at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:537)
 at org.apache.tapestry.internal.spring.SpringModuleDef$1.getBean(SpringModuleDef.java:57)
 at org.apache.tapestry.internal.spring.SpringModuleDef$1.getServiceInterface(SpringModuleDef.java:78)
 at org.apache.tapestry.ioc.internal.ModuleImpl.findServiceIdsForInterface(ModuleImpl.java:148)
 at org.apache.tapestry.ioc.internal.RegistryImpl.findServiceIdsForInterface(RegistryImpl.java:470)
 at org.apache.tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:439)
 at org.apache.tapestry.ioc.services.TapestryIOCModule$2.provide(TapestryIOCModule.java:132)
 at $ObjectProvider_1134ceb8123.provide($ObjectProvider_1134ceb8123.java)
 at $ObjectProvider_1134ceb811d.provide($ObjectProvider_1134ceb811d.java)
 at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
 at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
 at org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
 at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
 at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
 at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:327)
 ... 20 more

我想尽量重复利用bean,结果tapestry5报出这样的错误.如果不用的abstract=true的话,用另一种方式配置是OK的.

分享到:
评论

相关推荐

    tapestry4+spring+hibernate整合实例

    在这个"tapestry4+spring+hibernate整合实例"中,我们将探讨如何将这三个框架协同工作,以实现用户数据的增删改查功能。这通常涉及到以下几个步骤: 1. **环境配置**:首先,我们需要确保正确安装了JDK、Tomcat...

    tapestry 集成 spring

    提供的 "Address" 文件可能是演示如何在 Tapestry 应用中集成 Spring 的一个实例。通常,这个例子可能包括创建一个 Spring 配置文件(如 `applicationContext.xml`),定义一个 AddressService 类,并在 Tapestry ...

    Tapestry5.1+Spring2.5.6+Hibernate3.2.5写得简单CURD的程序

    本文将深入探讨如何使用Tapestry5.1、Spring2.5.6和Hibernate3.2.5这三个组件来构建一个基础的CRUD(创建、读取、更新、删除)程序。这三大框架各司其职,Tapestry负责视图层,Spring管理依赖注入与事务处理,而...

    Tapestry + spring

    在项目中创建`hivemodule.xml`文件并定义一个服务实现,例如`DefaultSpringBeanFactoryHolder`,这将提供一个新的Spring Bean工厂持有者。 ```xml &lt;?xml version="1.0"?&gt; service-id="hivemind.lib....

    Groovy+Tapestry5+Spring2.5+Hibernate3.2实现CRUD

    标题 "Groovy+Tapestry5+Spring2.5+Hibernate3.2实现CRUD" 涉及到的是一个使用几种技术栈构建Web应用程序的示例。这个项目结合了Groovy、Tapestry 5、Spring 2.5和Hibernate 3.2,旨在展示如何在实际开发中进行数据...

    将Tapestry整合到Spring里去.doc

    Tapestry原本通过getEngine()-&gt;getService()的方式来获取服务,但在整合后,这些服务即Spring中的Bean,将由Spring容器来管理和实例化。 整合的关键在于如何让Tapestry页面访问到由Spring管理的服务。一种简单的...

    spring3.0 mvc中文实例教程

    Spring MVC不仅能够独立工作,还能轻松与其他流行Web框架如Struts、WebWork、JavaServer Faces和Tapestry集成,提供更加灵活的开发选择。 【请求处理生命周期】 Spring MVC的请求处理流程始于客户端发送HTTP请求到...

    Spring-Reference_zh_CN(Spring中文参考手册)

    12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器...

    Spring 2.0 开发参考手册

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

    Spring中文帮助文档

    12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...

    spring3.0MVC中文教程.doc

    5. DispatcherServlet 是 Spring IoC 容器完全集成,允许我们使用的每一个 Spring 的其他功能。 Spring 3.0 MVC 的请求处理生命周期: 1. 客户端将请求发送到 Web 容器中的 HTTP 请求的形式。 2. ...

    Spring API

    12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用...

Global site tag (gtag.js) - Google Analytics