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> { }
No property 'hibernateTemplate' found ,这个hibernateTemplate配在哪儿了?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。