关于Spring的3层托管设置问题

问题描述

以为tomcat的报错!!严重:Exceptionsendingcontextinitializedeventtolistenerinstanceofclassorg.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.CannotLoadBeanClassException:Cannotfindclass[com.shunshi.dao.impl.user.UserDAOImpl]forbeanwithname'userDao'definedinServletContextresource[/WEB-INF/applicationContext.xml];nestedexceptionisjava.lang.ClassNotFoundException:com.shunshi.dao.impl.user.UserDAOImplCausedby:java.lang.ClassNotFoundException:com.shunshi.dao.impl.user.UserDAOImplatorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)atorg.springframework.util.ClassUtils.forName(ClassUtils.java:229)atorg.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:327)atorg.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1073)atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:283)atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)atorg.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)atorg.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)atorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)atorg.apache.catalina.core.StandardContext.start(StandardContext.java:4630)atorg.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)atorg.apache.catalina.core.StandardHost.start(StandardHost.java:785)atorg.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)atorg.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)atorg.apache.catalina.core.StandardService.start(StandardService.java:519)atorg.apache.catalina.core.StandardServer.start(StandardServer.java:710)atorg.apache.catalina.startup.Catalina.start(Catalina.java:581)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)atorg.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)2011-4-1310:21:15org.apache.catalina.core.StandardContextstart严重:ErrorlistenerStart2011-4-1310:21:15org.apache.catalina.core.StandardContextstart严重:Context[/mytest]startupfailedduetopreviouserrors以下是Spring的配置!<aop:config><aop:pointcutid="serviceOperation"expression="execution(*com.shunshi.service.impl.*.*.*(..))"/><aop:advisoradvice-ref="txAdvice"pointcut-ref="serviceOperation"/></aop:config><!--Dao层的托管--><beanid="userDao"class="com.shunshi.dao.impl.user.UserDAOImpl"><propertyname="sessionFactory"ref="sessionFactory"/></bean><!--Service层的托管--><beanid="userService"class="com.shunshi.service.impl.user.UserServiceImpl"><propertyname="userDao"ref="userDao"></property></bean><!--Action层的托管--><beanid="userAction"class="com.shunshi.web.action.user.SaveUserAction"scope="prototype"><propertyname="userService"ref="userService"/></bean>跪求高人指出错误问题!!

解决方案

解决方案二:
帮顶。startupfailedduetopreviouserrors(由于以前的错误启动失败)
解决方案三:
已经解决了~是因为UserDAOImpl的名字与DAO的class不对应!

时间: 2024-09-19 06:45:42

关于Spring的3层托管设置问题的相关文章

使用Spring邮件抽象层发送简单邮件

Spring提供了一个发送电子邮件的高级抽象层,它向用户屏蔽了底层邮件系统的一些细节,同时负责低层次的代表客户端的资源处理.Spring邮件抽象层的主要包为org.springframework.mail.它包括了发送电子邮件的主要接口MailSender和 封装了简单邮件的属性如from, to,cc, subject, text的值对象叫做SimpleMailMessage. 1.我们定义一个发送邮件的接口:OrderManager.java 1 public interface Order

web service-求助:spring webservicetemplate访问webservice怎么设置超时时间?

问题描述 求助:spring webservicetemplate访问webservice怎么设置超时时间? 客户端使用webservicetemplate访问,调用marshalSendAndReceive(String uri, Object requestPayload, WebServiceMessageCallbak requestCallback)方法,怎么样设置超时时间? 解决方案 CXF-WebService设置超时时间 解决方案二: 使用CommonsHttpMessageSe

Struts2 和spring整合的 Action层托管问题

首先分为 entity(实体) dao(数据库操作) service   action四个层 千万不要注解xml混用   通常我么对于四个层的单多例设置为: (1)    action一定要设为多例 注意:Struts管理时:当使用注解@Scope("singleton")设置action为单例时,可以通过属性注入设置属性的为多例.(很奇怪,和sprig管理不同) spring管理时,当action设置为单例时,不管你怎么设置里面的属性为多例,并且注入到action,都是没用的    

简化Spring(2) Model层

因为Spring自带的sample离我们的实际项目很远,所以官方一点的model层模式展现就靠Appfuse了. 但Appfuse的model层总共有一个DAO接口.一个DAOImpl类.一个Service接口.一个ServiceImpl类.一个DataObject.....大概只有受惯了虐待的人才会欣然接受吧. 另外,Domain-Driven逢初一.十五也会被拿出来讨论一遍. 其实无论什么模式,都不过是一种人为的划分.抽象和封装.只要在团队里理解一致,自我感觉优雅就行了. 我的建议是,一开始

Junit结合Spring对Dao层进行单元测试

实际开发过程中,写单元测试是非常难的一件事情,其主要原因是代码结构不够好,导致单元测试不好写.特别是Dao层,因为Dao层代码都是与数据库相关的,所以我们在对Dao层代码进行单元测试的时候,不仅仅要考虑我在上篇文章中提到的代码隔离,还要注意单元测试不能带来脏数据.另外,dao层实例依赖spring上下文,我们怎么样来解决这个问题? 看看下面的一个的测试实例: /** * @author lisanlai <br /> * Mail: sanlai_lee@qq.com<br />

Spring下业务层的UnitTest--4.15更新

     磨蹭了很久,终于开始用UnitTest.原因一和大家一样,不想晚上做噩梦,原因二是在Spring下对业务层TDD,能够不需要Tomcat,完全摆脱对显示层开发进度的依赖,而专注快速的开发业务层.       但是我们也只在业务层使用UnitTest,因为MVC中显示层至今没有什么好的UnitTest方法(无论是不成才的httpUnit们还是笨重的GUI test工具),而我们的 业务逻辑又严格封装在业务层,Controler层只做个组装分派的基本动作,没必要花大力气去测试.    在S

spring在MVC层解决JPA的缓迟加载问题

作为EJB3.0的一部分,JPA是一个好东西.其简单的配置方式及强大的默认配置支持,使其可以轻松自由的存在于轻量与重量之间,如果现在您的JavaEE项目,不管是选择轻量级构架还是重量级构架,如果持久层不选择使用JPA,而是用一些ORM框架(如Hibernate.TopLink)的专用API,那么在将来的某一天一定会为这个选择而说出至尊宝那句"假如上天再给我一个机会-"的至理名言.下面是一个简单的Entity,是对一个CMS系统中,关于树状信息目录实体类的定义,包括了一些详细的映射的配置

简化Spring(4) View层

同样的,Freemarker和Velocity爱好者请跳过本篇.与弃用webwork而单用Spring MVC Controller接口的理由一样,Freemarker本来是一样好东西,还跨界支持jsp 的taglib,而且得到了WebWork的全力支持,但为了它的非标准化,用户数量与IDE的缺乏,在View层我们还是使用了保守但人人会用,IDE友好的JSP2.0 配合JSTL. 对于B/S结构的企业应用软件来说,基本的页面不外两种,一种是填Form的,一种是DataGrid 数据列表管理的,再

简化Spring(3) Controller层

Struts与Webwork的扇子请跳过本篇. MVC不就是把M.V.C分开么?至唯物朴素的做法是两个JSP一个负责View,一个负责Controller,再加一个负责Model的Java Bean,已经可以工作得很好,那时候一切都很简单. 而现在为了一些不是本质的功能,冒出这么多非标准的Web框架,实在让人一阵郁闷.像Ruby On Rails那样简捷开发,可用可不用,而且没有太多的限制需要学习的,比如Webwork这型还可以考虑.但像Struts那样越用框架越麻烦,或者像Tapestry那样