본문 바로가기
IT/Spring

[Spring] - 스프링 자바 설정(java config) properties 파일로 배포 환경(로컬, 개발, 운영)별 설정 분기 처리 하는 방법

by 차이나는 개발자 2022. 2. 21.
728x90
반응형

#스프링 자바 설정(java config) properties 파일로 배포 환경(로컬, 개발, 운영)별 설정 분기 처리 하는 방법

 

 

1. VM arguments 에 매개변수 설정

1-1. 프로젝트 마우스 우클릭 후 Run Configurations... 클릭해줍니다.

 

 

1-2. -DKey = Value 쌍 형식으로 시스템 변수 설정

#-D 명령어로 JRE내부의 자바가상머신(JVM)에 자바 클래스에서 사용할 수 있는 시스템 변수를 지정해줍니다.

#ex) -Dspring.profiles.active=local

 

 

2. application-local.properties 파일 생성 (local, dev) <= vm arguments 값에 따라 동적으로 설정파일 지정

-속성 추가(Key = Value 형식) 해줍니다.

 

 

3. 설정 한 시스템 변수를 프로젝트 어디에서든 ${spring.profiles.active}와 같은 호출방법으로 불러 올 수 있습ㄴ니다.

- ${spring.profiles.active} = "local"

- :local 값이 없을 시 default 값을 설정해줍니다.

@Controller
@PropertySource("classpath:application-${spring.profiles.active:local}.properties")
public class MainController {
	
	@Value("${spring.profiles.active.env:local}")
	private String activeProfile;
	
	@Value("${spring.profiles.message:dafault}")
	private String message;
	
	@RequestMapping("/main")
	public String main(Model model){
		
		model.addAttribute("activeProfile", activeProfile);
		model.addAttribute("message", message);
		
		return "/main";
	}
	
}

 

 

 

728x90
반응형

댓글