[SPRING] Spring : constructor-arg를 annotation으로 대체하는 방법은 무엇입니까? [복제]
SPRINGSpring : constructor-arg를 annotation으로 대체하는 방법은 무엇입니까? [복제]
나는 annotation에 의해 XML applicationContext 설정을 대체하고 싶다.
간단한 빈을 고정 된 생성자 인수로 대체하는 방법?
예 :
<bean id="myBean" class="test.MyBean">
<constructor-arg index="0" value="$MYDIR/myfile.xml"/>
<constructor-arg index="1" value="$MYDIR/myfile.xsd"/>
</bean>
@Value에 대한 설명을 읽는 중이지만 일부 고정 값을 전달하는 방법을 이해하지 못했습니다 ...
웹 애플리케이션이 전개 될 때이 빈을로드 할 수 있습니까?
고맙습니다.
해결법
-
==============================
1.나는 네가 뭘했는지 생각해.
나는 네가 뭘했는지 생각해.
@Component public class MyBean { private String xmlFile; private String xsdFile; @Autowired public MyBean(@Value("$MYDIR/myfile.xml") final String xmlFile, @Value("$MYDIR/myfile.xsd") final String xsdFile) { this.xmlFile = xmlFile; this.xsdFile = xsdFile; } //methods }
시스템 등록 정보를 통해 이러한 파일을 구성 할 수도 있습니다. @Value 주석을 사용하여 PropertyPlaceholderConfigurer 및 $ {} 구문을 사용하여 시스템 속성을 읽을 수 있습니다.
이렇게하려면 @Value 주석에 다른 String 값을 사용할 수 있습니다.
@Value("${my.xml.file.property}") @Value("${my.xsd.file.property}")
그러나 당신은 또한 당신의 시스템 프로퍼티에 다음의 프로퍼티가 필요합니다 :
my.xml.file.property=$MYDIR/myfile.xml my.xsd.file.property=$MYDIR/myfile.xsd
from https://stackoverflow.com/questions/13725165/spring-how-to-replace-constructor-arg-by-annotation by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Annotation을 통해 Spring Bean의 File 필드 채우기 (0) | 2019.03.20 |
---|---|
[SPRING] 스프링 부트 : @Value 또는 @ConfigurationProperties를 사용하여 yaml에서 목록 읽기 (0) | 2019.03.20 |
[SPRING] Spring : FactoryBean.getObject () 대신 FactoryBean 객체 가져 오기 (0) | 2019.03.20 |
[SPRING] 스프링 쉘을 사용하여 스프링 부트 웹 애플리케이션에서 콘솔 명령을 작성하는 방법은 무엇입니까? (0) | 2019.03.20 |
[SPRING] Spring App을 Websphere에 배치 할 수 없다. (0) | 2019.03.20 |