大家好,我是一个菜鸟.
我在做ssh添加一张表的记录的时候
在action中报出了空指针异常, 但是可以进的去action.
小弟拙见,可能是因为调不到service类里面的方法,但是我反复检查了application里面所注入的配置已经都配好了,就是调不到service里面的方法. 在这里想向各位大哥可以提点1,2.让我找出这个错误..谢谢.
我在做ssh添加一张表的记录的时候
在action中报出了空指针异常, 但是可以进的去action.
小弟拙见,可能是因为调不到service类里面的方法,但是我反复检查了application里面所注入的配置已经都配好了,就是调不到service里面的方法. 在这里想向各位大哥可以提点1,2.让我找出这个错误..谢谢.
private IOrderService orderService;public void setOrderService(IOrderService orderService) {
this.orderService = orderService;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
OrderForm orderForm = (OrderForm) form;// TODO Auto-generated method stub
OrderVo vo = orderForm.getVo();
String ordertime = orderForm.getOrdertime();
SimpleDateFormat d= new SimpleDateFormat("yyyy/MM/dd");
vo.setOrderTime(d.parse(ordertime.replace('-','/')));
System.out.println(ordertime);
System.out.println(vo.getOrderTime());
System.out.println(vo.getOrderAddress());
orderService.OrderAdd(vo); //运行到这句话时报空
return null;
}
}application 配置文件:<?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:util="http://www.springframework.org/schema/util"
xmlns:p="http://www.springframework.org/schema/p"
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/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<!-- Dao -->
<bean id="OrderlistDAO" class="com.dao.OrderlistDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- service -->
<bean id="OrderService" class="com.service.OrderService">
<property name="orderlistDAO" ref="OrderlistDAO"></property>
</bean>
<!-- Action -->
<bean name="/order" class="com.struts.action.OrderAction">
<property name="orderService" ref="OrderService"></property>
</bean>
<bean id="htm" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<tx:advice id="ad" transaction-manager="htm">
<tx:attributes>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:advisor advice-ref="ad" pointcut="execution(public * com.service.*Service.*(..))"/>
</aop:config>
</beans>
service类::
public class OrderService implements IOrderService { private OrderlistDAO orderlistDAO;
public void setOrderlistDAO(OrderlistDAO orderlistDAO) {
this.orderlistDAO = orderlistDAO;
}
/* (non-Javadoc)
* @see com.service.IOrderService#OrderAdd(com.vo.OrderVo)
*/
public void OrderAdd(OrderVo vo)
{
System.out.println("大家好");
Orderlist orderlist = VoPoConvert.copyProperties(vo,Orderlist.class);
orderlistDAO.save(orderlist);
}
}
<bean id="OrderService"---------------orderService 明显不匹配 class="com.service.OrderService">
<property name="orderlistDAO" ref="OrderlistDAO"></property>
</bean>
这是一个问题。
再弱弱的问一句,我咋没找到 是不是在配置里面action中加了service的引用,就可以不用getBean方法去获取service的bean对象了
这个只是注入service..但是action的引用确实引用的是service的id啊
<bean name="/order" class="com.struts.action.OrderAction">
<property name="orderService" ref="OrderService"></property>
</bean>
javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
com.struts.action.OrderAction.execute(OrderAction.java:49)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
菜鸟求教..