MVC Spring实现-错误:java.lang.NullPointerException

MVC Spring实现-错误:java.lang.NullPointerException,java,spring-mvc,Java,Spring Mvc,我有一个MVC Spring控制器,在Imp文件中,我有: import com.ish.system.dao.UserDAO; public class CustomImpl implements CustomService { UserDAO userDAO = null; public UserDAO getUserDAO() { return userDAO; } public void setUserDAO(UserDAO userDAO) { this.userD

我有一个MVC Spring控制器,在Imp文件中,我有:

import com.ish.system.dao.UserDAO;

public class CustomImpl implements CustomService {

UserDAO   userDAO = null;

public UserDAO getUserDAO() {
  return userDAO;
}

public void setUserDAO(UserDAO userDAO) {
  this.userDAO = userDAO;
}

public String ServiceType(userId) {

User user = userDAO.findById(userId);

...
以下是控制台中的错误:

SEVERE: Servlet.service() for servlet dispatcherServlet threw exception
java.lang.NullPointerException
    at com.ish.smdb.service.impl.CustomImpl.ServiceType(CustomImpl.java:142)
    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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
这是控制器:

@RequestMapping(value="/ServiceType", method=RequestMethod.GET)
    public @ResponseBody String ServiceType(

            Locale locale,
            Model model) {
        String result = custom.ServiceType();

    return result;
}
下面是bean:

<bean id="Custom" parent="baseTransactionProxy"> 
  <property name="target"> 
    <bean id="CustomImpl" class="com.is.sm.service.impl.CustomImpl"> 
      <property name="userDAO" ref="UserDAO" /> 
    </bean> 
  </property> 
</bean>


确保userDAO为null。但我没有找到原因。我怎么了

customimplbean依赖于UserDAO,因此必须将userdaobean注入customimplbean, 请发布您的xml配置文件,您已经在其中定义了bean

更新:

下面是一个解决方案,您可以使用spring注释进行注入:

在UserDAOImpl Cals(UserDAO接口实现)中,使用:

然后在CustomImpl类中:

@Autowired
UserDAO userDAO ;

你能发布你的完整的stacktrace吗?你能告诉我那是什么吗?我只是通过输出打印跟踪代码。你能发布你的控制器代码吗?你是如何调用ServiceType的,你是如何初始化userDAO的?上面说的,你说确定userDAO为空,这是你的错误。它是空的。。您的类是如何初始化的?当然userDAO必须设置在某个地方或注入。我刚刚发布了我的控制器。您能告诉我如何初始化它吗?下面是我定义的bean:
@Autowired
UserDAO userDAO ;