Struts Hibernate spring 3层框架做项目 我把biz注入到Action中,运行时报空指针异常,检查后发现scenicgoodsbiz是空的请教各位到底是什么原因造成的 ,很急的
[b]问题补充:[/b]
我在Action里注入了的 通过set 方法注入了 不是我没有注入
[b]问题补充:[/b]
配置文件
<bean id="Scenicgoodsinfo" class="com.enfang.daoImpl.ScenicgoodsImpl" >
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="ScenicgoodsManager" class="com.enfang.bizImpl.ScenicgoodsManagerImpl">
<property name="scenicgoodsdao" ref="Scenicgoodsinfo"></property>
</bean>
<bean name="/scenicgoods" class="com.enfang.struts.action.ScenicgoodsAction">
<property name="scenicgoodsbiz" ref="ScenicgoodsManager"></property>
</bean>
Action 注入
<bean id="Scenicgoodsinfo" class="com.enfang.daoImpl.ScenicgoodsImpl" >
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="ScenicgoodsManager" class="com.enfang.bizImpl.ScenicgoodsManagerImpl">
<property name="scenicgoodsdao" ref="Scenicgoodsinfo"></property>
</bean>
<bean name="/scenicgoods" class="com.enfang.struts.action.ScenicgoodsAction">
<property name="scenicgoodsbiz" ref="ScenicgoodsManager"></property>
</bean>
[b]问题补充:[/b]
怎么知道注入成功了呢? 在Action注入后 我调试 可程序运行到我调用的方法就停止了 不会运行到我设的断点那啊
[b]问题补充:[/b]
Action类中 注入 biz
package com.enfang.struts.action;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.enfang.biz.ScenicgoodsManagerInfo;
import com.enfang.entity.Scenicgoods;
import com.enfang.struts.form.ScenicgoodsForm;
import com.enfang.struts.form.ScenicgoodsForm;
/**
@struts.action path="/scenicgoods" name="scenicgoodsForm" input="/form/scenicgoods.jsp" scope="request" validate="true"
/
public class ScenicgoodsAction extends DispatchAction {
/
/**
public void setScenicgoodsbiz(ScenicgoodsManagerInfo scenicgoodsbiz) {
this.scenicgoodsbiz = scenicgoodsbiz;
}
[b]问题补充:[/b]
[quote][/quote]严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.enfang.struts.action.ScenicGoodsAction.add(ScenicGoodsAction.java:110)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
[b]问题补充:[/b]
错误找出来了 我的包出问题 要把cglib-2.1.3.jar 删除 就好了
还有救是Struts-config.xml 里面的配置 写错了个字母
谢谢大家
应该是spring没能注入,一般情况下,action中需要有set方法用来注入这个biz
应该不可能的,除非你就是没注意好,没set注入成功
把配置文件粘出来嘛
自己仔细看看有没写错字母啊
ScenicgoodsAction这个类里有不是有这个属性scenicgoodsbiz,自己去看清楚些
如果写的都对的,会不会是你的struts中的action类没有被spring管理?
一种比较常用的struts与spring集成:
struts配置里面action的type=org.springframework.web.struts.DelegatingActionProxy
还有web.xml中有没启动spring
我怀疑你是没整合成功struts和spring吧