twocowsong

Environment 본문

IT/SpringBoot

Environment

WsCode 2022. 2. 2. 21:08

개발시 상황에따라 로컬, 개발, 운영 환경에맞게 변경하고싶은값들이있습니다. 예를들면 디비정보나, url정보가 있을것같습니다. 상황에 맞게 하드코딩되어진 변수들을 한개씩 수정하다보면 위험이 많이발생하기에 대체로 properties에 환경에 맞게 선언해두고 가져다가 사용을 많이합니다. 

 

인텔리제이에서 Active profiles라는 입력란이있습니다. (인텔리제이 무료버전에서는 없을수 있습니다.)

여기에 자신이 현재 어디를 바라볼지에 대한정보를 입력하면됩니다.

저는 로컬PC에서 개발을 하기에 local이라고 선언하겠습니다.

 

properties파일들을 상황에맞게 사용하기위해 위와 같이 파일을 만들었습니다.

application-{Active profiles 값}.properties 으로 이름을 설정해주시면 스프링부트가 알아서 해당파일을 조회합니다.

 

각각의 프로퍼티에는 아래와같이 내용이 저장되어있습니다.

 

application-local.properties

test.text=local입니다.

 

application-dev.properties

test.text=dev입니다.

 

application-prod.properties

test.text=prod입니다.

 

그리고 자바소스코드에서는 프로퍼티값을 가져가 사용할때는 엄청 간단합니다.

@Slf4j
@Controller
@RequiredArgsConstructor
public class Test1Controller {

	private final Environment env;

	@ResponseBody
	@GetMapping("/main")
	public String init() {
		System.out.println(env.getProperty("test.text"));
		return "ok";
	}

}

 

'IT > SpringBoot' 카테고리의 다른 글

@Autowired , @RequiredArgsConstructor 차이  (0) 2022.03.23
Spring Boot AOP  (0) 2022.03.22
@RestController @Controller  (0) 2022.01.24
@Scheduled  (0) 2022.01.23
Redirect, forward, RedirectAttributes  (0) 2022.01.23