[SPRING] Spring이 applicationContext.xml에 정의되지 않은 Struts 액션에서 속성을 주입하는 방법
SPRINGSpring이 applicationContext.xml에 정의되지 않은 Struts 액션에서 속성을 주입하는 방법
나는 Spring 3 + Struts 2 + Hibernate 3과 같은 프레임 워크를 가진 프로젝트에있다. 또한 스프링 보안을 사용한다.
Spring과 Struts는 web.xml에 정의 된 Spring ContextLoaderListener를 사용하여 통합됩니다.
<listener>
<display-name>Spring Initialization</display-name>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
대개 db 호출을하는 여러 서비스 클래스가 있습니다. agentserviceprocess는 getAgents ()와 같은 메소드를 갖는 클래스입니다.
Struts 액션은 각 프로세스에 대한 프로퍼티와 세터 게터를 가지며, 이들 프로세스 클래스는 application-context.xml에 빈으로 정의됩니다.
놀랍게도 클래스 매개 변수로 작업 클래스가있는 bean을 찾을 수 없습니다. 나는 스프링이 액션 객체 인스턴스를 제어하지 않는다는 것을 의미한다. 그렇다면 봄이 이러한 행동들 속에서 서비스 속성 객체들을 어떻게 주입 할 수 있을까요?
또한, 나는 다음과 같은 항목을 발견했다.
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.action</url-pattern>
<url-pattern>*.htm</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
해결법
-
==============================
1.스프링과의 통합을 위해서는 struts2-spring 플러그인을 사용해야합니다. 이 플러그인이로드되면 플러그인 구성이 자체 객체 팩토리를 사용하여 조치 클래스를 인스턴스화하는 데 적용됩니다. action instanses가 빌드 될 때 autowiring을 위해 spring으로 전달합니다. autowired를 위해 속성의 getter와 setter를 제공해야합니다. 또한 종속성에 대한 스프링 구성을 제공합니다.
스프링과의 통합을 위해서는 struts2-spring 플러그인을 사용해야합니다. 이 플러그인이로드되면 플러그인 구성이 자체 객체 팩토리를 사용하여 조치 클래스를 인스턴스화하는 데 적용됩니다. action instanses가 빌드 될 때 autowiring을 위해 spring으로 전달합니다. autowired를 위해 속성의 getter와 setter를 제공해야합니다. 또한 종속성에 대한 스프링 구성을 제공합니다.
from https://stackoverflow.com/questions/28476069/how-spring-is-injecting-properties-in-struts-actions-that-are-not-defined-in-ap by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 자기 참조 클래스를 가진 Java Hibernate json 무한 재귀 (0) | 2019.02.21 |
---|---|
[SPRING] Spring 컨텍스트에서 기본 경로로 시스템 속성에서 속성 파일로드 (0) | 2019.02.21 |
[SPRING] tx : annotation-driven에서 Custom AnnotationTransactionAttributeSource 사용하기 (0) | 2019.02.21 |
[SPRING] OpenID로 스프링 보안을 사용할 때 AccessControlException (0) | 2019.02.21 |
[SPRING] 개체 목록을 개체에 매핑하는 ParameterizedRowMapper (0) | 2019.02.21 |