这是报的错误
Exception in thread "main" java.lang.NullPointerException
at com.action.test.main(test.java:23)
这是我的applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" default-autowire="byName">
   <!-- 
    <import resource="applicationContextaction.xml"/>
    <import resource="applicationContextdao.xml"/>
    <import resource="applicationContextservice.xml"/>
 配置jdbc驱动 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>/WEB-INF/jdbc.properties</value>
</list>
</property>
</bean>
<!-- 配置数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>${jdbc.driver}</value>
    </property>
<property name="url">
<value>${jdbc.url}</value>
    </property>
<property name="username">
<value>${jdbc.username}</value>
    </property>
<property name="password">
<value>${jdbc.password}</value>
    </property>
   </bean>   
       <!-- 配置sqlMapClient -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="configLocation">
<value>WEB-INF/sqlMapConfig.xml</value>
</property>
</bean>
<bean id="dao" class="com.dao.impl.userDaoImpl"></bean>
<bean id="userservice" class="com.service.impl.userServiceImpl">
</bean>
</beans>
dao层接口
package com.dao;
import java.util.List;import com.entity.User;public interface userDao {
   public List<User>  Alluser();
  
}
dao层实现类
package com.dao.impl;import java.util.List;import com.dao.userDao;
import com.entity.User;
import com.never.BaseDao;public class userDaoImpl extends BaseDao implements userDao{
public List<User> Alluser() {
List<User> list = null;
try {
      list= this.getObjectList("usersh.queryAllUser", null);
} catch (Exception e) {
e.printStackTrace();
}
return list;
}

}
service层接口
package com.service;import java.util.List;import com.entity.User;public interface userService {
   public List<User>  Alluser();
}service层实现类
package com.service.impl;import java.util.List;import javax.annotation.Resource;import com.dao.userDao;
import com.dao.impl.userDaoImpl;
import com.entity.User;
import com.service.userService;public class userServiceImpl implements userService{   public userDao dao;
public void setDao(userDao dao) {
this.dao = dao;
}
public List<User> Alluser() {
// TODO Auto-generated method stub
return dao.Alluser();
}
   
}测试类
package com.action;import javax.annotation.Resource;
import javax.servlet.ServletContext;import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;import com.dao.userDao;
import com.service.userService;
import com.service.impl.userServiceImpl;public class test {
@Resource
public static userService userservice;
public static void main(String[] args) {
userservice.Alluser();
     }}
这个是web配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<!-- 配置Struts2 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 配置Spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value> 
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
找了半天实在是没发现什么错误,但是就是报空指针的错误,dao层调用不到service层 service调用不到daoc层依赖注入,srping,ssiSpring

解决方案 »

  1.   

    你的配置<bean id="dao" class="com.dao.impl.userDaoImpl"></bean>
    <bean id="userservice" class="com.service.impl.userServiceImpl"></bean> 没有把dao依赖注入到service里面 你生成service对象 但你service里面的set dao对象根本就没有 能不是空么
      

  2.   

    1、你这个配置  一会用注解 一会用xml配置 是什么个意思
    2、你既然用spring容器来管理类  当然必须用spring来生成类的实例   你的测试类test根本没交给sping管理
        spring 肯定也不会帮你实例化userService  所以报空指针了你要测试spring就用spring的getBean方法去获取实例
      

  3.   

    我用的是byname属性的,不用再在里面依赖注入了