严重: 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 'userDao' defined in file [D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\MyStrutsTest\WEB-INF\classes\applicationContext-daos.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.hoo.dao.impl.UserDao]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.hoo.dao.impl.UserDao.<init>()
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:965)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:911)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
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.start(ContainerBase.java:1045)
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)
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.hoo.dao.impl.UserDao]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.hoo.dao.impl.UserDao.<init>()
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:70)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:958)
... 28 more
Caused by: java.lang.NoSuchMethodException: com.hoo.dao.impl.UserDao.<init>()
at java.lang.Class.getConstructor0(Class.java:2706)
at java.lang.Class.getDeclaredConstructor(Class.java:1985)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:65)
... 29 more
2012-3-8 11:08:04 org.apache.catalina.core.ApplicationContext log
信息: Set web app root system property: 'webapp.root' = [D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\MyStrutsTest\]
2012-3-8 11:08:04 org.apache.catalina.core.ApplicationContext log
信息: Initializing log4j from [D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\MyStrutsTest\WEB-INF\log4j.properties]
2012-3-8 11:08:04 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2012-3-8 11:08:04 org.apache.catalina.core.StandardContext start
严重: Context [/MyStrutsTest] startup failed due to previous errors
2012-3-8 11:08:04 org.apache.catalina.core.ApplicationContext log
信息: Shutting down log4j
2012-3-8 11:08:04 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2012-3-8 11:08:04 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2012-3-8 11:08:04 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2012-3-8 11:08:04 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/62 config=null
2012-3-8 11:08:04 org.apache.catalina.startup.Catalina start
信息: Server startup in 4662 ms
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao' defined in file [D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\MyStrutsTest\WEB-INF\classes\applicationContext-daos.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.hoo.dao.impl.UserDao]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.hoo.dao.impl.UserDao.<init>()
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:965)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:911)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
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.start(ContainerBase.java:1045)
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)
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.hoo.dao.impl.UserDao]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.hoo.dao.impl.UserDao.<init>()
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:70)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:958)
... 28 more
Caused by: java.lang.NoSuchMethodException: com.hoo.dao.impl.UserDao.<init>()
at java.lang.Class.getConstructor0(Class.java:2706)
at java.lang.Class.getDeclaredConstructor(Class.java:1985)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:65)
... 29 more
2012-3-8 11:08:04 org.apache.catalina.core.ApplicationContext log
信息: Set web app root system property: 'webapp.root' = [D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\MyStrutsTest\]
2012-3-8 11:08:04 org.apache.catalina.core.ApplicationContext log
信息: Initializing log4j from [D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\MyStrutsTest\WEB-INF\log4j.properties]
2012-3-8 11:08:04 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2012-3-8 11:08:04 org.apache.catalina.core.StandardContext start
严重: Context [/MyStrutsTest] startup failed due to previous errors
2012-3-8 11:08:04 org.apache.catalina.core.ApplicationContext log
信息: Shutting down log4j
2012-3-8 11:08:04 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2012-3-8 11:08:04 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2012-3-8 11:08:04 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2012-3-8 11:08:04 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/62 config=null
2012-3-8 11:08:04 org.apache.catalina.startup.Catalina start
信息: Server startup in 4662 ms
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
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="userDao" class="com.hoo.dao.impl.UserDao">
<property name="sessionFactory" ref="sqlSessionFactory" />
</bean>
-->
<!-- 通过扫描的模式,扫描目录在com/hoo/mapper目录下,所有的mapper都继承SqlMapper接口的接口, 这样一个bean就可以了
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.hoo.mapper"/>
<property name="erInterface" value="com.hoo.mapper.SqlMapper"/>
</bean>
org.mybatis.spring.mapper.MapperFactoryBean
-->
<bean id="userDao" class="com.hoo.dao.impl.UserDao">
<property name="sessionFactory" ref="sqlSessionFactory" />
</bean>
</beans>
就配置这么一个dao啊第一次
// dao.setMapperClass(UserMapper.class);
// user.setUserId(userId);
// try {
// dao.remove(user);
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// return 1;
// } public UserDao(SqlSessionFactory sqlSessionFactory) {
super(sqlSessionFactory);
// TODO Auto-generated constructor stub
} public int findByCount(Page page) {
return (Integer) this.selectOne("User.findByCount", page);
} public List findByPage(Page page) {
List list = null;
return list;
} //public Object saveUser(User user) {
// return getSqlMapClientTemplate().insert("User.save", user);
//} public Integer update(User user) throws Exception {
return 1;
} public User login(User user) {
return user;
} public List findByExample(User user) {
return (List) user;
} @Override
public Object saveUser(User user) {
// TODO Auto-generated method stub
return null;
} @Override
public Integer deleteById(Integer userId) {
// TODO Auto-generated method stub
return null;
}}
<property name="sessionFactory" ref="sqlSessionFactory" />
</bean>
這個是setter注入,但是在UserDao中卻是
public UserDao(SqlSessionFactory sqlSessionFactory) {
super(sqlSessionFactory);
// TODO Auto-generated constructor stub
}構造器注入,怎麽可能注入進去呢?要麽改配置文件從setter改為constructor,要麽改UserDao得注入方式為setter。