2016-08-16 3 views
3

질문이 있지만 어쩌면 간단하지만 해결 방법을 찾을 수 없습니다.어쨌든 spring4에서 주석을 비활성화 하시겠습니까?

나는 봄 부트를 사용하여이 같은 코드에 몇 가지 주석을 추가하고 :

@EnableEurekaClient 
@SpringBootApplication 
@EnableCaching 
public class MyApplication { 
    public static void main(String[] args) { 
     SpringApplication.run(MyApplication.class, args); 
    } 
} 

그러나

는 다른 환경에서, 예를 들어, 생산 환경에서, 우리는 EurekaClient을 제거 할을,하지만 난 싶지 않아 수동으로 각 환경에 대해 수동으로 제거하려면 환경 변수 또는 명령 줄 매개 변수를 사용하여 동작을 제어하고 싶습니다. 이 방법을 사용하는 것으로 가정합니다.

그러면 코드를 건드리지 않고이 애플리케이션을 쉽게 시작할 수 있습니다.

가능하면 누구에게 말해 줄 수 있습니까? 그렇다면 어떻게 할 수 있습니까? 당신은 Spring Boot Profiles 작업 할 것

감사

답변

7

. @EnableEurekaClient을 다른 @Configuration 클래스로 분할하고 @Profile("eureka-client")을 클래스에 추가합니다. 그런 다음 응용 프로그램을 시작할 때 프로덕션 이외의 환경에 대해 -Dspring.profiles.active=eureka-client을 설정할 수 있습니다.

예 :

@SpringBootApplication 
@EnableCaching 
public class MyApplication { 
    public static void main(String[] args) { 
     SpringApplication.run(MyApplication.class, args); 
    } 
} 

@Configuration 
@EnableEurekaClient 
@Profile("eureka-client") 
public class EurekaClientConfiguration { 
} 
+0

당신은 내 머리를 갱신! 감사. 두 번째 프로파일을 읽을 것입니다. – user3006967

+0

자세히 설명해 줄 수 있습니까? EnableEurekaClient를 다른 Configuration 클래스로 분할하고 클래스 ("eureka-client")를 클래스에 추가하십시오. 나는 이것을 어떻게하는지 모른다. 감사합니다 – user3006967

+0

답변을 추가했습니다. –

관련 문제