[SPRING] 스프링 오버로드 된 생성자 삽입
SPRING스프링 오버로드 된 생성자 삽입
이것은 코드입니다 :
public class Triangle {
private String color;
private int height;
public Triangle(String color,int height){
this.color = color;
this.height = height;
}
public Triangle(int height ,String color){
this.color = color;
this.height = height;
}
public void draw() {
System.out.println("Triangle is drawn , +
"color:"+color+" ,height:"+height);
}
}
Spring 구성 파일은 다음과 같습니다.
<bean id="triangle" class="org.tester.Triangle">
<constructor-arg value="20" />
<constructor-arg value="10" />
</bean>
어떤 생성자가 Spring에 의해 호출 될지 결정하는 특정 규칙이 있습니까?
해결법
-
==============================
1.여기서 첫 번째 인수는 각 메소드의 첫 번째 매개 변수와 일치하고 매개 변수가 일치합니다.
여기서 첫 번째 인수는 각 메소드의 첫 번째 매개 변수와 일치하고 매개 변수가 일치합니다.
모호성을 제거하는 데 도움이되는 아래 해결책을 제안합니다.
첫 번째 생성자를 호출하려면
<bean id="triangle" class="org.tester.Triangle"> <constructor-arg type="int" value="20" /> <constructor-arg type="java.lang.String" value="10" /> </bean>
두 번째 생성자를 호출하려면
<bean id="triangle" class="org.tester.Triangle"> <constructor-arg type="java.lang.String"value="20" /> <constructor-arg type="int" value="10" /> </bean>
그래서 그 모호함을 해결합니다.
편집하다 :-
이 문제에 대한 자세한 내용은 여기를 참조하십시오.
-
==============================
2.나는 그렇게 믿지 않는다. 다음과 같이 인수를 입력 할 수 있습니다.
나는 그렇게 믿지 않는다. 다음과 같이 인수를 입력 할 수 있습니다.
<bean id="triangle" class="org.tester.Triangle"> <constructor-arg type="int" value="20" /> <constructor-arg value="10" /> </bean>
이 시나리오에서 혼동을 제거 할 수 있습니다.
-
==============================
3.Spring 3.1.0에 대한 테스트에 기초하여, 두 번째 생성자가 사용될 것이다. 나는 왜 문서가 확실한 답을주지 않았는 지 모른다.
Spring 3.1.0에 대한 테스트에 기초하여, 두 번째 생성자가 사용될 것이다. 나는 왜 문서가 확실한 답을주지 않았는 지 모른다.
Bitbucket 코드 테스트하려면 Main 클래스를 실행하여 Triangle 객체를 만드는 데 사용할 생성자에 따라 FIRST 또는 SECOND 문자열을 출력합니다.
from https://stackoverflow.com/questions/13864787/spring-overloaded-constructor-injection by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 추상 클래스에서 작동하지 않는 Spring 자동 와이어 링 (0) | 2019.01.24 |
---|---|
[SPRING] Spring JDBC는 log4j로 SQL을 로깅하지 않습니다. (0) | 2019.01.24 |
[SPRING] 스프링 데이터 jpa : 결과 튜플에서 별칭을 찾을 수 없습니다! 쿼리가 별칭을 정의하는지 확인하십시오. (0) | 2019.01.23 |
[SPRING] Java에서 yaml로부터 맵 읽기 (0) | 2019.01.23 |
[SPRING] Transfer-Encoding 제거 : POST 요청에 청크가 있습니까? (0) | 2019.01.23 |