2016-08-23 3 views
0

나는 봄과 함께 일하고 있는데 콩이 가득한 XML 파일이있다.변수를 기반으로 한 스프링 콩 파일을 다른 파일로로드합니까?

하나의 변수가 참이면 내 응용 프로그램에 가져오고 싶은 이들 bean 중 일부는 거짓이고 다른 하나는 false입니다.

아무도 내가 이것을 달성 할 수있는 방법을 알고 있습니까?

편집 : "내 응용 프로그램 가져 오기"- 일부 기준에 따라 인스턴스화하려고합니다.

+0

편집 ... 대답을 반영하기 위해 기본적으로, 나는 단지 특정 기준이 충족되는 경우 빈을 인스턴스화하려고합니다. 환경 = "Dev"또는 환경 = "Prod"와 같은. – MickeyThreeSheds

+0

일반적으로 우리는 2 개의 다른 설정 파일과 다른 프로파일을 사용합니다. 나는이 문제를 한번도 만난 적이 없으며 디자인 문제라고 생각한다. 이 문제는 발생하지 않아야합니다. –

+0

전적으로 당신의 말에 동의하지만, 상사는 여기서 대답을 듣지 않을 것입니다 - 그리고 저는 이것을 문자 그대로 작동시켜야합니다. 파일을 두 개의 다른 파일로 분리하는 것은 전적으로 옵션입니다.이 작업을위한 자원은 알고 있습니까? – MickeyThreeSheds

답변

1

요는 프로필을 사용할 수 있으며 프로필 내에 콩을 선언 할 수 있습니다. 이 콩 중 하나가 부동산 자리 표시 자일 수 있습니다. 그런 다음 당신은 더 여기에서 볼 수 있습니다

mvn clean install -Dspring.profiles.active="dev" 

받는다는와

<beans profile="dev"> 
    <context:property-placeholder 
     location="classpath:properties/application-default.properties, classpath:properties/application-dev.properties" 
     ignore-unresolvable="true" /> 
</beans> 

<beans profile="test"> 
    <context:property-placeholder 
     location="classpath:properties/application-default.properties, classpath:properties/application-test.properties" 
     ignore-unresolvable="true" /> 
</beans> 

생성 할 수있는 것은

https://examples.javacodegeeks.com/enterprise-java/spring/load-environment-configurations-and-properties-with-spring-example/

https://www.mkyong.com/spring/spring-propertysources-example/

+0

은 profiles.active와 다른 매개 변수로이 작업을 수행 할 수 있습니까? – MickeyThreeSheds

+0

응용 프로그램이 실행되기 전에 SpringApplication.setAdditionalProfiles (...)를 호출하여 활성 프로파일을 프로그래밍 방식으로 설정할 수 있습니다. http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html – reos

+0

굉장 - 여기에 마지막 질문 하나가 있습니다. 그런 다음이 답변을 우수 답변으로 표시 할 수 있습니다. - 모든 빈을 일부 프로파일에로드해야하는 경우 어떻게해야합니까? 나는 그 콩에 대한 프로파일을 설정하지 않기로 선택하면 모든 프로파일에로드 할 수 있습니까? – MickeyThreeSheds