더북(TheBook)

4.11.3 프로파일 사용 시 고려사항

스프링의 프로파일 기능은 개발자가 빌드 도구(예를 들어 메이븐의 프로파일 지원)로 수행하던 애플리케이션의 실행 구성을 관리할 수 있는 다른 방법을 제공합니다. 빌드 도구들은 도구 실행 시 지정한 프로파일 인수에 의존해 프로파일에 해당하는 구성과 프로퍼티 파일을 자바 아카이브(애플리케이션 유형에 따라 JAR 또는 WAR)에 넣은 뒤 대상 환경으로 배포합니다. 스프링의 프로파일 기능을 사용하면 애플리케이션 개발자가 프로파일을 스스로 정의하고 프로그래밍으로 또는 JVM 인수를 전달해 이 프로파일을 활성화할 수 있습니다. 이제 사용하려는 프로파일을 JVM 시작 시 인수로 전달하면 스프링의 프로파일 기능을 사용해 동일한 애플리케이션 아카이브를 모든 환경에 배포할 수 있습니다. 예를 들어 실행 환경(개발환경 또는 운영환경)과 사용할 데이터 접근 라이브러리 (하이버네이트 또는 JDBC)를 조합해 (dev, hibernate) 또는 (prd, jdbc)처럼 프로파일에 따라 다르게 동작하는 애플리케이션을 만들 수도 있습니다. 이와 같이 애플리케이션을 개발하면 애플리케이션 프로파일 관리를 프로그래밍 영역으로 가져올 수 있음을 의미합니다.

하지만 이 방법에는 단점도 있습니다. 예를 들어 일부 개발자는 각기 다른 환경에 대한 모든 구성 내용을 애플리케이션 구성 파일이나 자바 클래스에 모두 집어넣고 함께 번들링하는 작업을 주의해서 하지 않으면 애플리케이션에서 오류가 발생하기 쉽다고 주장합니다. 이런 예로 관리자가 애플리케이션 서버 환경에 올바른 JVM 인수를 설정해야 한다는 사실을 잊은 경우를 들 수 있습니다. 또한, 모든 프로파일의 파일을 함께 묶으면 패키지 크기가 평소보다 좀 더 증가합니다. 다시 말하지만 애플리케이션과 구성 요구사항에 따라 프로젝트에 맞는 최적의 방안을 선택하기 바랍니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.