복붙노트

[SPRING] Spring 프로파일을 패키지로 설정하는 방법은?

SPRING

Spring 프로파일을 패키지로 설정하는 방법은?

전체 패키지에 프로파일 이름을 설정하고 어떻게해야할지 모르겠다. 쉬운 방법이 없다면 패키지 및 하위 패키지의 모든 클래스를 @Profile 주석으로 표시해야합니다.

태그는 프로필과 같은 속성을 지원하지 않으므로 잘 모르겠습니다.

해결법

  1. ==============================

    1.다음에 대한 프로필을 설정할 수 있습니다.

    다음에 대한 프로필을 설정할 수 있습니다.

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
           profile="your-profile">
    
        <context:component-scan base-package="your.package" />
    </beans>
    
    @Configuration
    @Profile("your-profile")
    @Componentscan("your.package")
    class AppConfig {
    }
    

    각각의 패키지에서 특정 패키지에 대해 구성 요소 검색을 사용할 수 있습니다.

  2. ==============================

    2.XML과 자바 설정을 섞지 않는다면 @ComponentScan 주석을 가지고있는 빈에 @Profile을 사용할 수있다.

    XML과 자바 설정을 섞지 않는다면 @ComponentScan 주석을 가지고있는 빈에 @Profile을 사용할 수있다.

    XML과 마찬가지로 : 두 개의 서로 다른 섹션을 가질 수 있으며 각 섹션은 서로 다른 프로필을 가지고 있으며 각 섹션에서 자신의 를 정의합니다.

    @Configuration
    @Profile("profile1")
    @ComponentScan(basePackage="package1")
    class Config1 {
    }
    
    @Configuration
    @Profile("profile2")
    @ComponentScan(basePackage="package2")
    class Config2 {
    }
    
  3. from https://stackoverflow.com/questions/27186124/how-to-set-a-spring-profile-to-a-package by cc-by-sa and MIT license