1. 程式人生 > >struts2整合spring 註解方式 注入為空問題原因之一

struts2整合spring 註解方式 注入為空問題原因之一

java.lang.NullPointerException
 at com.action.TestForAction.addPersion(TestForAction.java:17)
 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 com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450)
 at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252)
 at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)
 at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
 at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
 at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
 at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
 at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
 at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:139)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
 at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
 at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:562)
 at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
 at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
 at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
 at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
 at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)

出現這個注入物件為空的原因之一:沒有加入struts2-spring-plugin-2.3.16.1.jar包版本視自己定

相關推薦

struts2整合spring 註解方式 注入問題原因之一

java.lang.NullPointerException  at com.action.TestForAction.addPersion(TestForAction.java:17)  at sun.reflect.NativeMethodAccessorImpl.in

DTO的理解以及spring遇到的一個問題註解方式物件

之前不明白有些框架中為什麼要專門定義DTO來繫結表現層中的資料,為什麼不能直接用實體模型呢,有了DTO同時還要維護DTO與Model之間的對映關係,多麻煩。 然後看了這篇文章中的討論部分才恍然大悟。 摘兩個比較有意義的段落。 表現層與應用層之間是通過資料傳輸物件(DTO)進

junit單元測試時spring的@Autowired注入

在測試類上新增以下注釋,測試時自動建立Spring的應用上下文: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:beans.xml" })或者@

Spring 整合 Hibernate 註解方式

在上一篇文章中,我們建立一個簡單的Maven專案結構,並展示如何使用 Spring 和 Hibernate 框架在 MySQL資料庫進行資料處理工作(插入,選擇,更新和刪除)。在本文章中,還是學習如何使用 Spring 和 Hibernate 做同樣的事情,這一次我們使用註解

Spring AOP面向切面程式設計詳解(基於XML方式 註解方式 注入Aspectj方式)

前言 AOP即面向切面程式設計,是一種程式設計思想,OOP的延續。在程式開發中主要用來解決一些系統層面上的問題,比如日誌,事務,許可權等等。在閱讀本文前希望您已經對Spring有一定的瞭解 注:在能對程式碼進行添加註解方式實現AOP的話,並不推薦使用XML方

Struts2整合Spring的兩種方式(最新)

方式一隻需要在專案中引入struts2-spring-plugin-2.2.1.1.jar這個Jar包就可以了。這個Jar包引入之後確保web.xml中載入了spring配置,否則會報空指標異常(原因是方式一會自動在spring配置檔案中找action依賴的service,

使用spring的aop實現攔截action後出現依賴注入的問題

java.lang.NullPointerExceptionat com.cpa.action.LoginAction.login(LoginAction.java:93)at com.cpa.action.LoginAction$$FastClassByCGLIB$$8b

Spring註解方式建立的物件單例

Java建立物件和對物件賦值(屬性)都可以通過Spring的方式來完成 一種方式是通過配置XML檔案 另一種方式是通過註解的方式 註解建立的物件是單例的。 (1)配置檔案,進行掃描 <context:component-scan base-

Spring註解方式整合Kafka(spring-kafka的使用)

import java.util.HashMap; import java.util.Map; import org.apache.kafka.clients.producer.ProducerConfig; import org.apache.kafka.common

Struts2整合Spring從xml到註解

@Namespace("/")  @Component(value="userLogin")  @Scope(value="prototype")  publicclass LoginAction extends ActionSupport {      public LoginAction() {  

BME框架與Struts2整合Spring的比較分析

      最近我一直在考慮一個問題,華為的BME框架與裸奔的Struts2整合Spring到底差別在哪裡呢?由於多次直接使用BME框架來開發MTV Portal系列專案,覺得BME框架整合整合Spring和Struts2做得相當好,使用比較方便,就想徹底弄明白BME開發框架

eclipse-搭建maven的war項目集合spring註解方式

eap 初始化 打印 owin artifact mapping line welcom b- 工具:eclipse 4.4.2 版本號:20150219-0600 jdk:1.7 1.下圖創建maven工程,然後next 下圖選擇工程保存位置(這裏選擇默認),nex

spring註解方式註入bean

ota alt contex () implement bstr mage 所在 lap 用註解的方式註入bean,spring的配置文件也要增加一些約束和導入註解所在的包 applicationContext.xml 1 <?xml version="1.0"

Spring註解方式配置Redis

@Configuration public class RedisConfiguraion { @Bean public JedisConnectionFactory redisConnectionFactory() { RedisStandaloneConfigura

Spring註解方式大勢所趨(1)

目錄   [email protected] 和  @ComponentSacns 2. 給容器中註冊元件的四種方式 [email protected]和@Lazy [email protected] 和&

Struts2整合spring注意action的配置,要設定多例模式

struts 2的Action是多例項的並非單例,也就是每次請求產生一個Action的物件。原因是:struts 2的Action中包含資料,例如你在頁面填寫的資料就會包含在Action的成員變數裡面。如果Action是單例項的話,這些資料在多執行緒的環境下就會相互影響,例如造成別人填寫的資料被你看

spring xml方式注入沒有提供set方法

org.springframework.beans.NotWritablePropertyException: Invalid property 'xxx'  Bean property 'xxx' is not writable or has an invalid setter meth

sprint-boot 整合mybatis+註解方式+配置檔案方式

註解方式  application.yml spring: datasource: # 資料來源基本配置 username: root password: root driver-class-name: com.mysql.jdbc.Dr

基於Spring註解方式配置Quartz

之前我們都是通過基於XML的方式實現Spring  Quartz 雖然配置起來特別的方便,但是Spring還支援基本註解的方式來配置,這樣做不僅更加簡單,而且程式碼量也更加少了很多。 1、配置需要排程的類,並添加註解 import java.text.SimpleDate

解決 SpringMvc 非controller類使用@Autowired註解 service注入null的問題

使用SpringMVC框架,在開發的過程中有一些工具類、靜態非controller類需要呼叫由spring管理的service層。但是使用@Autowired註解注入Service,會報null異常;搜尋了下網上的一些方法,又實際測試了下,發現網上說的還缺少了點東西,所以