我的GAE应用:清风记账本(
http://www.scholers.co.cc)
升级成spring2.5.6之后,想充分利用spring2.5里面的新的特性:
@Autowired,@Component等,可以大量的减少xml的配置,更加灵活方便。
但是使用这些新特性之后,发现上传上去(我的开发环境是GAE SDK1.4.2)之后,出现错误信息如下:
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name
'org.springframework.context.annotation.internalPersistenceAnnotationProcessor':
Initialization of bean failed; nested exception is
java.lang.NoClassDefFoundError: javax/naming/NamingException
经过GOOGLE一把,发现老外已经发现了此类错误。具体在:
http://code.google.com/p/googleappengine/issues/detail?id=1240
上面提示说,这个问题在使用spring3.0之前的版本都存在,于是我又屁颠屁颠的升级到spring3.0.5,果然这个问题解决掉了。
完整的错误信息:
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name
'org.springframework.context.annotation.internalPersistenceAnnotationProcessor':
Initialization of bean failed; nested exception is
java.lang.NoClassDefFoundError: javax/naming/NamingException
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at
org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:578)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:365)
at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
at
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:190)
at
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:167)
at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:113)
at
com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:235)
at
com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:4547)
at
com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:4545)
at
com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:24)
at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:359)
at com.google.net.rpc.impl.Server$2.run(Server.java:792)
at
com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:56)
at
com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:489)
at com.google.net.rpc.impl.Server.startRpc(Server.java:748)
at com.google.net.rpc.impl.Server.processRequest(Server.java:340)
at
com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:422)
at com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:319)
at com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:290)
at com.google.net.async.Connection.handleReadEvent(Connection.java:419)
at
com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:733)
at com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:207)
at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:101)
at com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:249)
at
com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run(JavaRuntime.java:373)
at java.lang.Thread.run(Unknown Source)
分享到:
相关推荐
这个入门示例项目旨在帮助初学者了解和掌握Spring 2.5.6版本中的注解使用和基于XML的IoC配置。 首先,让我们来探讨一下Spring的IoC概念。IoC是一种设计模式,它将对象的创建和管理权交给了容器,而不是由对象自身...
2. **注解驱动开发**:Spring 2.5.6引入了更多的注解,如@Controller、@Service、@Repository等,这些注解使得基于Java的配置成为可能,减少了对XML配置文件的依赖,提高了开发效率。 3. **AOP增强**:在2.5版本中...
Spring 2.5是Spring框架的一个重要版本,它引入了大量增强的功能,特别是对注解的支持,这使得在Java应用程序中实现依赖注入和面向切面编程(AOP)变得更加简单和直观。在这个基于注解的例子程序中,我们将深入探讨...
spring2.5.6官方jar包 spring2.5.6官方jar包 spring2.5.6官方jar包 spring2.5.6官方jar包 spring2.5.6官方jar包 spring2.5.6官方jar包 spring2.5.6官方jar包
Struts2.1.8.1、Spring2.5.6和Hibernate3.5.6是经典的Java企业级开发框架组合,它们各自扮演着不同的角色,共同构建了一个强大的后端架构。Struts2是一个用于创建MVC(模型-视图-控制器)模式的Web应用程序的开源...
在Spring 2.5.6中,支持基于XML和基于注解的配置方式。 3. **AOP(面向切面编程)**:Spring的AOP模块允许开发者定义横切关注点,如日志、事务管理等,然后将它们编织到业务逻辑中,从而实现代码的解耦和模块化。 ...
在 Spring 2.5.6 中,可以通过 XML 配置文件或者基于注解的方式来定义对象及其依赖关系。 3. **AOP(面向切面编程)**:Spring 提供了 AOP 支持,允许开发者定义横切关注点,如日志记录、事务管理等,这些关注点...
这个压缩包包含了开发Spring 2.5.6应用所必需的全部jar文件,这些文件是构建基于Spring的应用程序的基础。 1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,通过容器管理对象及其依赖关系,使得...
2. **AOP(Aspect-Oriented Programming,面向切面编程)**:Spring 2.5.6支持基于代理的AOP,用于实现横切关注点,如日志、事务管理和安全性。`org.springframework.aop`包包含了AOP的核心类,如`...
4. **增强的JMS支持**:Spring 2.5增强了对Java消息服务(JMS)的支持,包括模板API和基于注解的消息监听器。 三、Spring 2.5.6源码分析 1. **BeanFactory和ApplicationContext**:源码中可以看到Spring如何通过...
这些JAR包是构建基于Spring 2.5.6的应用的基础,它们共同构成了Spring框架的核心功能。如果你在项目中使用了Spring 2.5.6,确保正确地引入所有必要的依赖,可以避免类加载错误和缺失功能的问题。 总之,Spring ...
Spring框架的核心特性可以被应用于任何Java应用中,但其最广泛的应用场景还是在Java EE平台上。Spring框架的主要目标是简化企业级应用的开发过程,它通过提供一种全面的基础设施支持来实现这一点,从而让开发者能够...
一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jar Hibernate 3.6.8:hibernate3.jar...
在Spring 2.5.6中,Bean容器允许开发者声明性地配置应用程序组件,通过XML或基于注解的方式来管理对象生命周期。这个版本引入了更多对Java 5特性的支持,如泛型和注解,使得配置更加简洁和类型安全。例如,`@...
标题“spring2.5.6示例 imagedb”指的是一个关于Spring框架2.5.6版本的应用实例,其中可能包含了一个名为“imagedb”的数据库管理或图像存储相关的项目。这个实例可能用来演示如何在Spring 2.5.6中配置、管理和操作...
### Spring2.5.6 参考文档知识点详解 #### 一、概述 Spring框架作为一款流行的Java开发框架,提供了全面的技术支持,包括但不限于依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented ...
在本示例中,我们将深入探讨Spring框架2.5.6版本中的面向切面编程(AOP)概念。Spring AOP是Spring框架的核心组件之一,它允许开发者在不修改源代码的情况下,对程序进行横切关注点(如日志、事务管理、性能监控等)...
Spring2.5.6 帮助文档 API
在这个特定的项目中,开发者选择了SSH2的特定版本:Struts2.1.6、Spring2.5.6和Hibernate3.3,并且强调了全注解开发,这意味着在配置文件中尽可能地使用注解来代替XML配置。 首先,让我们详细了解一下这三个框架的...