开发者社区> 问答> 正文

SSH 框架整合注解配置问题:配置报错 

Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'departmentDao' defined in class path resource [spring/applicationContext-department.xml]: Initialization of bean failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'hibernateTemplate' of bean class [cn.baixun.oa.dao.iml.DepartmentDaoIml]: No property 'hibernateTemplate' found

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:221)

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.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)

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.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)

at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1114)

at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1673)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

at java.util.concurrent.FutureTask.run(FutureTask.java:262)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:744)

Caused by: org.springframework.beans.InvalidPropertyException: Invalid property 'hibernateTemplate' of bean class [cn.baixun.oa.dao.iml.DepartmentDaoIml]: No property 'hibernateTemplate' found

at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:382)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1288)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1249)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)

... 27 more

五月 03, 2014 6:42:07 下午 org.apache.catalina.core.StandardContext startInternal

严重: Error listenerStart

五月 03, 2014 6:42:07 下午 org.apache.catalina.core.StandardContext startInternal

严重: Context [/OA] startup failed due to previous errors

五月 03, 2014 6:42:07 下午 org.apache.catalina.core.ApplicationContext log

信息: Closing Spring root WebApplicationContext

五月 03, 2014 6:42:07 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc

严重: The web application [/OA] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

五月 03, 2014 6:42:07 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/OA] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak.

五月 03, 2014 6:42:07 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory D:\developer\developer software\apache-tomcat-7.0.35-windows64\apache-tomcat-7.0.35\webapps\ROOT

五月 03, 2014 6:42:07 下午 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["http-apr-8080"]

五月 03, 2014 6:42:07 下午 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["ajp-apr-8009"]

五月 03, 2014 6:42:07 下午 org.apache.catalina.startup.Catalina start

信息: Server startup in 5869 ms

以下是spring 的配置
application.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xmlns:aop="http://www.springframework.org/schema/aop"        xmlns:tx="http://www.springframework.org/schema/tx"        xmlns:context="http://www.springframework.org/schema/context"        xsi:schemaLocation="http://www.springframework.org/schema/beans                            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd                            http://www.springframework.org/schema/aop                             http://www.springframework.org/schema/aop/spring-aop-2.5.xsd                            http://www.springframework.org/schema/context                             http://www.springframework.org/schema/context/spring-context-2.5.xsd                            http://www.springframework.org/schema/tx                             http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">        <import resource="applicationContext-db.xml"/>        <import resource="applicationContext-person.xml"/>        <import resource="applicationContext-department.xml"/>         </beans> application-department.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xmlns:aop="http://www.springframework.org/schema/aop"        xmlns:tx="http://www.springframework.org/schema/tx"        xmlns:context="http://www.springframework.org/schema/context"        xsi:schemaLocation="http://www.springframework.org/schema/beans                            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd                            http://www.springframework.org/schema/aop                             http://www.springframework.org/schema/aop/spring-aop-2.5.xsd                            http://www.springframework.org/schema/context                             http://www.springframework.org/schema/context/spring-context-2.5.xsd                            http://www.springframework.org/schema/tx                             http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">     <!--      其中的一种解决方案      -->            <bean id="departmentDao" class="cn.baixun.oa.dao.iml.DepartmentDaoIml">  <property name="hibernateTemplate">  <ref bean="hibernateTemplate"/>  </property>  </bean>                 <bean id="departmentService" class="cn.baixun.oa.service.iml.DepartmentServiceIml">     <property name="departmentDao">     <ref bean="departmentDao"/>     </property>     </bean>          <bean id="departmentAction" class="cn.baixun.oa.struts2.action.DepartmentAction" scope="prototype">     <property name="departmentService">     <ref  bean="departmentService"/>     </property>     </bean> </beans>

以下是注入hibernateTemplate的地方
BaseDaoIml.java
package cn.baixun.oa.dao.base.iml;

import java.io.Serializable; import java.lang.reflect.ParameterizedType; import java.util.Collection;

import javax.annotation.Resource;

import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.stereotype.Repository;

import cn.baixun.oa.dao.base.BaseDao;

public class BaseDaoIml<T> implements BaseDao<T>{     private Class classType; public BaseDaoIml(){ ParameterizedType type=(ParameterizedType) this.getClass().getGenericSuperclass(); classType=(Class) type.getActualTypeArguments()[0]; } @Resource(name="hibernateTemplate") public HibernateTemplate hibernateTemplate; public void saveEntry(T t) { this.hibernateTemplate.save(t);

}

@Override public void updateEntry(T t) { this.hibernateTemplate.update(t);

}

@Override public void deleteEntry(Serializable id) { T t=this.getEntryById(id); this.hibernateTemplate.delete(t);

}

@Override public T getEntryById(Serializable id) {

return (T) this.hibernateTemplate.get(classType, id); }

@Override public Collection<T> getAllEntry() {

return this.hibernateTemplate.find("from"+this.classType.getName()); }

}

DepartmentDaoIml.java

package cn.baixun.oa.dao.iml;

import javax.annotation.Resource; import javax.xml.ws.RespectBinding;

import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.stereotype.Repository;

import cn.baixun.oa.dao.DepartmentDao; import cn.baixun.oa.dao.base.iml.BaseDaoIml; import cn.baixun.oa.domain.Department; @Repository("departmentDao") public class DepartmentDaoIml extends BaseDaoIml<Department> implements DepartmentDao<Department> { }

展开
收起
kun坤 2020-05-31 23:55:56 490 0
1 条回答
写回答
取消 提交回答
  • No property 'hibernateTemplate' found ,这个hibernateTemplate配在哪儿了?

    2020-05-31 23:56:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载