堆栈跟踪 严重:上下文初始化失败 org.springframework.beans.factory.BeanCreationException:使用名称' springProjectController'创建bean时出错:注册自动连接的依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:private com.springproject.service.SpringProjectservice com.springproject.controller.SpringProjectController.springservice;嵌套异常是org.springframework.beans.factory.BeanCreationException:使用名称' springProjectServiceImpl'创建bean时出错:注册自动装配的依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:com.springproject.dao.SpringProjectDao com.springproject.service.SpringProjectServiceImpl.springprojectdao;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为' springProjectDaoImpl'的注册自动连接依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:org.springframework.jdbc.core.JdbcTemplate com.springproject.dao.SpringProjectDaoImpl.jdbcTemplate;嵌套异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有为依赖项找到类型[org.springframework.jdbc.core.JdbcTemplate]的限定bean:期望至少有一个bean可以作为此依赖项的autowire候选者。依赖注释:{@ org.springframework.beans.factory.annotation.Autowired(required = true)} 在org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:292) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) at org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:304) 在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) 在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) 在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700) 在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) 在org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:643) 在org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:606) 在org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:657) 在org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:525) 在org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:466) 在org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 在javax.servlet.GenericServlet.init(GenericServlet.java:158) 在org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1282) 在org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1195) 在org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:866) 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134) 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) 在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442) 在org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082) at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:623) at org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61) 在java.lang.Thread.run(未知来源) 引起:org.springframework.beans.factory.BeanCreationException:无法自动装配字段:private com.springproject.service.SpringProjectservice com.springproject.controller.SpringProjectController.springservice;嵌套异常是org.springframework.beans.factory.BeanCreationException:使用名称' springProjectServiceImpl'创建bean时出错:注册自动装配的依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:com.springproject.dao.SpringProjectDao com.springproject.service.SpringProjectServiceImpl.springprojectdao;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为' springProjectDaoImpl'的注册自动连接依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:org.springframework.jdbc.core.JdbcTemplate com.springproject.dao.SpringProjectDaoImpl.jdbcTemplate;嵌套异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有为依赖项找到类型[org.springframework.jdbc.core.JdbcTemplate]的限定bean:期望至少有一个bean可以作为此依赖项的autowire候选者。依赖注释:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<servlet>
<servlet-name>SpringDispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringDispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
SpringDispatcher-servlet.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!--
<mvc:annotation-driven/> -->
<context:annotation-config />
<context:component-scan base-package = "com.springproject.controller" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/lo" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="springprojectdao" class="com.springproject.dao.SpringProjectDaoImpl">
<property name="jdbcTemplate" ref="jdbcTemplate" />
</bean>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<mvc:resources mapping="/resources/**" location="/resources/" />
</beans>
SpringprojectController
package com.springproject.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.springproject.bean.Bean;
import com.springproject.service.SpringProjectservice;
@Controller
@ComponentScan("com.springproject.service")
public class SpringProjectController
{
@Autowired
private SpringProjectservice springservice;
@RequestMapping(value = "/login")
public String getview() {
return "Login";
}
@RequestMapping(value= "/usercheck", method= RequestMethod.POST)
public String Usercheck(@ModelAttribute("form") Bean login)
{
System.out.println("" + login.getUsernameid());
System.out.println("" + login.getPasswordid());
String value = springservice.usercheck(login);
return "success";
}
}
@Serviceimpl
package com.springproject.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import com.springproject.bean.Bean;
import com.springproject.dao.SpringProjectDao;
@Service
@ComponentScan("com.springproject.dao")
public class SpringProjectServiceImpl implements SpringProjectservice
{
@Autowired
SpringProjectDao springprojectdao;
@Override
public String usercheck(Bean login) {
return springprojectdao.usercheck(login);
}
}
DAOImpl
package com.springproject.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
import com.springproject.bean.Bean;
@Repository
public class SpringProjectDaoImpl implements SpringProjectDao {
@Autowired
JdbcTemplate jdbcTemplate ;
@Override
public String usercheck(Bean login) {
String SQL = "select count(*) from login where username = ? AND password = ? ";
int flag = jdbcTemplate.queryForInt(SQL, new Object[]{login.getUsernameid(),login.getPasswordid()});
return String.valueOf(flag);
}
}