org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'studentAction' defined in ServletContext resource [/WEB-INF/applicationContext_bean.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are: PropertyAccessException 1: org.springframework.beans.TypeMismatchException: Failed to convert property value of type [$Proxy1] to required type [cn.sjh.service.impl.StudentServiceImpl] for property 'stuSI'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy1] to required type [cn.sjh.service.impl.StudentServiceImpl] for property 'stuSI': no matching editors or conversion strategy found Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are: PropertyAccessException 1: org.springframework.beans.TypeMismatchException: Failed to convert property value of type [$Proxy1] to required type [cn.sjh.service.impl.StudentServiceImpl] for property 'stuSI'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy1] to required type [cn.sjh.service.impl.StudentServiceImpl] for property 'stuSI': no matching editors or conversion strategy found Caused by: java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy1] to required type [cn.sjh.service.impl.StudentServiceImpl] for property 'stuSI': no matching editors or conversion strategy found at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:231) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138) at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:815) at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645) at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78) at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1122) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:857) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:245) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:188) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:583) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 2012-6-16 9:07:53 org.apache.catalina.core.StandardContext start 严重: Error listenerStart 2012-6-16 9:07:53 org.apache.catalina.core.StandardContext start 严重: Context [/sjh_ssh_dom] startup failed due to previous errors 2012-6-16 9:07:53 org.apache.catalina.core.ApplicationContext log 信息: Closing Spring root WebApplicationContext 2012-6-16 9:07:58 org.apache.catalina.core.ApplicationContext log 信息: Initializing Spring root WebApplicationContext log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader). log4j:WARN Please initialize the log4j system properly. 2012-6-16 9:08:07 org.apache.coyote.http11.Http11Protocol start 信息: Starting Coyote HTTP/1.1 on http-8686 2012-6-16 9:08:07 org.apache.jk.common.ChannelSocket init 信息: JK: ajp13 listening on /0.0.0.0:8009 下面是部分配置文件 <?xml version="1.0" encoding="GB18030"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <!-- 定义通知 --> <bean id="alogger" class="cn.sjh.Advice.impl.LogAfterAdvice"> <property name="logService" ref="logService"></property> </bean> <!--
<bean id="blogger" class="cn.test.service.impl.BeforeAdvice"></bean> <bean id="mlogger" class="cn.test.service.impl.MethodAdvisor"></bean>-->
<!-- 定义代理 --> <bean id="shoppingPointCutAdvisor" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <list> <value>studentService</value> </list> </property>
<property name="interceptorNames"> <list> <value>alogger</value> </list> </property> </bean>
<!-- 配置事务管理器--> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean>
<!-- 配置事务的传播特性 即事务的应用规则--> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="asdassave*" propagation="REQUIRED" rollback-for="Throwable"/> <tx:method name="del*" propagation="REQUIRED" rollback-for="Throwable"/> <tx:method name="modify*" propagation="REQUIRED" rollback-for="Throwable"/> </tx:attributes> </tx:advice>
<!-- 那些类的哪些方法参与事务 --> <aop:config> <aop:pointcut id="allManagerMethod" expression="execution(* cn.test.service.impl..(..))"/> <aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice"/> </aop:config> <!-- Dao层配置 --> <bean id="studentDao" class="cn.sjh.dao.impl.StudentDaoImpl"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean> <bean id="logDao" class="cn.sjh.dao.impl.LogDaoImpl"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean> <!-- Service层配置 --> <bean id="logService" class="cn.sjh.service.impl.LogServiceImpl"> <property name="log_dao" ref="logDao"></property> </bean> <bean id="studentService" class="cn.sjh.service.impl.StudentServiceImpl"> <property name="stuDao" ref="studentDao"></property> </bean> <!-- Action层配置 --> <bean id="studentAction" class="cn.sjh.action.StudentAction"> <property name="stuSI" ref="studentService"></property> </bean> </beans> 下面是service层代码 package cn.sjh.service.impl; import java.util.List; import cn.sjh.beans.; import cn.sjh.dao.impl.; import cn.sjh.service.*; public class StudentServiceImpl implements IMyService { private StudentDaoImpl stuDao; public void delete(Object o) { stuDao.delete(o); } public PageBean findAll(int start, int size) { return stuDao.findAll(start, size); } public Object save(Object o) { return stuDao.save(o); } public Object update(Object o) { return stuDao.update(o); } public StudentDaoImpl getStuDao() { return stuDao; } public void setStuDao(StudentDaoImpl stuDao) { this.stuDao = stuDao; } }
下面是action代码 package cn.sjh.action; import java.util.; import java.sql.; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.; import com.opensymphony.xwork2.; import cn.sjh.service.impl.; import cn.sjh.service.; import cn.sjh.beans.*; public class StudentAction extends ActionSupport implements ServletRequestAware,ServletResponseAware { private HttpServletRequest request; private HttpServletResponse response; private int total; private int page; private int row; private TStudent stu; private List rows; private IMyService stuSI; private String resultMsg; public String findAll()throws Exception{ this.resultMsg=null; this.row=Integer.parseInt(request.getParameter("rows")); PageBean pb=stuSI.findAll(getStart(), row); this.setRows(pb.getRows()); this.setTotal(pb.getTotal()); System.out.println(rows.size()); /List lt=this.rows; for(int i=0;i<lt.size();i++){ Map mp=(Map)lt.get(i); System.out.println(mp); }/ return SUCCESS; } public void update()throws Exception{ System.out.println(stu.getName()+"同学年龄"+stu.getAge()+"性别"+stu.getSex()+"电话"+stu.getPhone()); Object o=stuSI.update(this.stu); if(o!=null){ this.resultMsg="学生信息修改成功"; }else{ this.resultMsg="学生信息修改成功"; } response.setContentType("text/html;charset=UTF-8"); response.getWriter().write(this.resultMsg); } public int getStart(){ int start=(page-1)*row; return start; } public void setServletRequest(HttpServletRequest arg0) { // TODO Auto-generated method stub this.request=arg0; } public void setServletResponse(HttpServletResponse arg0) { // TODO Auto-generated method stub this.response=arg0; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } public int getRow() { return row; } public void setRow(int row) { this.row = row; } public void setStu(TStudent stu) { this.stu = stu; } public List getRows() { return rows; } public void setRows(List rows) { this.rows = rows; } public void setStuSI(StudentServiceImpl stuSI) { this.stuSI = stuSI; } public String getResultMsg() { return resultMsg; } public void setResultMsg(String resultMsg) { this.resultMsg = resultMsg; } public TStudent getStu() { return stu; } }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。