关于spring3无法注入struts2的action
来源:互联网 发布:如何搭建公司网络 编辑:程序博客网 时间:2024/05/01 04:48
对于action的注入 不是spring的配置所能左右的 而是struts-spring-plugin起作用 struts2会去spring配置文件里已有的bean里找和action中的属性名一样的bean 如下:
action:
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
//此属性名必须和spring配置文件中的id名一致
CustomersService customersService;
public CustomersService getCustomersService() {
return customersService;
}
public void setCustomersService(CustomersService customersService) {
this.customersService = customersService;
}
.......
}
spring配置文件:
<!-- 这里的id必须与action中属性名一致-->
<bean id="customersService" class="com.lyq.serviceImpl.CustomersServiceImpl">
<property name="customersDAO">
<ref local="customersDAOImpl" />
</property>
</bean>
<!-- 此bean不用配都行 配了多余 因为不是spring主动注入进action的 而是 struts-spirng-plugin向Spring已有bean中要的 然后自动装进属性里 既然是自动所以索要BEAN名称必须和属性名一致 不然它没办法找到bean 鬼知道咱们起的什么名字
<bean id="loginAction" class="com.lyq.action.LoginAction">
<property name="customersService">
<ref local="customersService" />
</property>
</bean> -->
原来我的bean名称不叫customersService 而是叫customersServiceImpl 结果怎么都装不上 eclipse不报错 网页报错如下:
type Exception report
message
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.NullPointerExceptioncom.lyq.action.LoginAction.execute(LoginAction.java:43)sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)java.lang.reflect.Method.invoke(Unknown Source)com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511)org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
- 关于spring3无法注入struts2的action
- struts2.3整合spring3.2出现无法注入的问题
- struts2与Spring3集成中Action的自动装配不起作用 annotation注入不起作用
- 基于SSH,关于action无法注入service的问题
- Struts2和Spring3.2 整合时。Struts2 Action 无法通过get,set方式获取前台form传的值
- 【Struts2】为Action的属性注入值
- struts2为Action的属性注入值
- struts2中action属性的依赖注入
- 关于struts2 中action 属性没有 set 方法 依然会注入值的问题(解决)
- struts2与spring集成时,关于Action类中成员bean自动注入的问题
- struts2与spring集成时,关于Action类中成员bean自动注入的问题
- struts2与spring集成时,关于Action类中成员bean自动注入的问题
- struts2与spring集成时,关于Action类中成员bean自动注入的问题
- 关于struts2 中action 属性没有 set 方法 依然会注入值的问题(解决)
- Struts2集成spring3后action的几种实例方法
- 关于struts2,hibernate3,spring3的配置
- 关于struts2+spring3+jpa项目的构建
- struts2+spring3+hibernate3整合不能注入的问题
- Android根据屏幕点击位置显示(此处是PopupWindow)
- 数组指针,指针数组,二维数组作为参数传递给以指针的指针作为形参的函数
- 第十三周oj平台:插入数
- 第十三周 项目1-3 数组大折腾
- 第十二周项目2-3:OJ题目中多种输入形式的处理
- 关于spring3无法注入struts2的action
- rpmbuild命令
- 数字签名(代码签名)流程和数字签名的验证
- 第4天] 函数——函数的应用(练习01)
- 第十三周项目1--数组大折腾2
- 客户自谈移民香港的感想和经历
- python中如何判断字符类型
- 数组排序--选择排序
- Centos6.4系统安装