CODEDRAGON ㆍDevelopment/Spring
프로파일(profile) 속성을 이용한 설정
· 동일한 스프링 빈을 여러 개 만들어 놓고 상황(환경)에 따라서 적절한 스프링 빈을 사용할 수 있습니다. profile 속성을 사용하면 됩니다.
· 개발환경에 대한 설정과 운영환경에 대한 설정을 분리할 수 있습니다.
· 운영체제에 정보를 확인한 후 윈도우면 윈도우 설정을 리눅스이면 리눅스에 맞는 설정을 구분해서 자동으로 적용할 수 있습니다.
프로파일(profile) 속성을 이용한 설정 방법 종류
· XML 설정 파일을 이용하는 방법
· JAVA 설정 파일을 이용하는 방법
XML 설정 파일을 이용하는 방법
MainClass.java
config = "dev";
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(); // 활성화 시킬 프로파일명을 설정합니다. ctx.getEnvironment().setActiveProfiles(config); ctx.load("appCTX_dev.xml", "appCTX_run.xml"); |
appCTX_dev.xml
beans 요소에 profile속성을 추가해서 XML설정 파일을 식별합니다.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="…" profile="dev"> |
appCTX_run.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="…" profile="run"> |
JAVA 설정 파일을 이용하는 방법
MainClass.java
config = "dev";
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.getEnvironment().setActiveProfiles(config); ctx.register(ApplicationConfigDev.class, ApplicationConfigRun.class); |
ApplicationConfigDev.java
어노테이션으로 프로파일을 설정합니다.
@Configuration @Profile("dev") public class ApplicationConfigDev { @Bean public ServerInfo serverInfo() { //… }
} |
ApplicationConfigRun.java
@Configuration @Profile("run") public class ApplicationConfigRun { @Bean public ServerInfo serverInfo() { //… }
} |