Spring jdbctemplate空指针异常,带有@autowired注释

时间:2018-08-29 11:05:11

标签: java spring-mvc annotations autowired jdbctemplate

spring @autowired注解出现错误,我无法解决。

请,有人可以帮我解决这个问题吗?

错误

  

类型异常报告

     

消息请求处理失败;嵌套异常为   java.lang.NullPointerException

     

说明服务器遇到内部错误,阻止了它   满足此请求。

     

org.springframework.web.util.NestedServletException异常:   请求处理失败;嵌套异常为   java.lang.NullPointerException     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)     org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)     javax.servlet.http.HttpServlet.service(HttpServlet.java:647)     org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)     javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

     

根本原因java.lang.NullPointerException     demo.DAO.QuestionDAO.getQuestion(QuestionDAO.java:30)     demo.controller.QuizController.LoginAuthenticate(QuizController.java:27)     sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)     sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)     sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)     java.lang.reflect.Method.invoke(未知源)     org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)     org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)     org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)     org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)     org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)     org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)     org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)     org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)     org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)     javax.servlet.http.HttpServlet.service(HttpServlet.java:647)     org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)     javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

Spring-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" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
	<mvc:annotation-driven />
	<mvc:default-servlet-handler />
	<context:component-scan base-package="demo.controller,demo.DAO" />
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/JSP/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>
	<bean id="questiondao" class="demo.DAO.QuestionDAO"></bean>
	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource" ref="datasource" />
	</bean>
	<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/test" />
		<property name="username" value="root" />
		<property name="password" value="" />
	</bean>

</beans>

QuestionDAO类

package demo.DAO;
import java.util.List;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;

import com.Pojo.Questions;
@Component
public class QuestionDAO {

    @Autowired
    private JdbcTemplate jdbcTemplate;


    public List<Questions> getQuestion() {
        String sql= "select * from questionsdb";
        Questions q= new Questions();

        List<Questions> questList= jdbcTemplate.query(sql, new QuestionMapper());
        return questList;
    }

}

0 个答案:

没有答案