Struts에서 작업 중이며 이상한 동작이 발생했습니다. 어떤 오류나 버그를 만들지는 않았지만 나는 당신과 그것을 공유하는 것이 흥미로울 것이라고 생각했습니다.Struts2에서 이상한 동작이 발생했습니다.
아마 왜 이런 일이 일어 났는지 설명 할 수 있습니다. 관련 매핑을 작성
public class MyAction extends ActionSupport {
private Map<String, Map<String, Object>> map = new HashMap<String, Map<String, Object>>();
public String execute() {
System.out.println(map);
return SUCCESS;
}
public Map<String, Map<String, Object>> getMap() {
return map;
}
public void setMap(Map<String, Map<String, Object>> map) {
this.map = map;
}
}
및 JSP로 필요하고 작업을 실행 -
는 다음 코드를 사용하여 스트럿츠 액션을 만듭니다. 당신은 콘솔 출력은 다음을 참조한다 - 가{systemProperties={java.runtime.name=Java(TM) SE Runtime Environment, sun.boot.library.path=C:\Program Files\Java\jdk1.6.0_32\jre\bin, java.vm.version=20.7-b02, shared.loader=${catalina.base}/shared/classes ....
그래서 분명히 스트럿츠 내지도로 시스템 등록 정보를 주입한다. 하지만 왜 그렇게하고 있습니까? 나는 그렇게하도록 요구하지 않았다. 필자가 사용한 특별한 XML 설정이나 주석은 없습니다. Struts의 어떤 부분 (어떤 인터셉터)이 이것을 담당합니까? 방금 버그를 발견 했습니까? 아니면이 정상적인 동작입니까? Struts 개발자가 시스템 속성을 가진 모든 Map<String, Map<String, Object>>
을 주입하는 것이 현명하다고 생각하는 이유는 정상입니까?
스프링 구성 XML에'autowire' 매개 변수를 설정 했습니까? – plucury
@ plucury 왜 그 점이 달라졌습니까? 스프링은 빈 의존성을 주입한다. 컬렉션을 삽입하지 않습니다. –
메소드를 설정하면 Spring에서 모든 유형의 속성을 주입합니다. – plucury