jgwk

spring profile or maven profile 본문

java

spring profile or maven profile

JungleWalker 2021. 11. 28. 12:32

어떤 구조를 채택할 것인가?

사실 잘 모르겠다. 결국 내 선택이 무엇이냐 인데..

 

각 구성의 차이를 살펴보았다.

 

빌드타임과 런타임

메이븐은 빌드타임에 프로파일을 선택하고 환경에 맞는 결과물을 각각 만들어 낸다. 환경마다 빌드를 따로 해야 한다. 환경에 맞는 패키지를 만드는 장점이 있다.

스프링은 모든 환경을 포함한 패키지로 만들고 런타임에 선택한다. 

내가 가지고 있는 경험이나 일하는 기업 환경에선 메이븐이 옳다.

 

환경에 대한 종속

개발자의 개인 개발환경, 테스트 환경, 운영 환경의 로그인 방식이 모두 다른 경험이 있다. 뿐만 아니다. 어떤 기능은 사용하는 도구의 지원 부족으로 환경에 따라 목업으로 처리한 경우도 있다.

이런 경우는 선택지가 아니다. 메이븐이다. 스프링에서도 가능은 하겠지만 그 정도까지 하는건 아니다 싶다.

 

얼마나 사용하기 쉬운가

메이븐은 사용하기 위해 제법 고민을 해야한다. 소스 구조가 적합하지 않다면 바꿔야 하고, 빌드를 위해 메서드를 쪼개는 경우도 있다. 뜻밖에도 이런 작업의 결과로 소스 구조가 더 깔끔해지는 경험도 있었다. 그만큼 시간을 투자해야 했지만..

스프링은 그냥 쓰면된다. 편하다. 대신 소스가 지저분해진다. 철저하게 빌드만을 위한 코드가 중간에 떡하니 밖힌다. 그래도 스프링은 그냥 편했다.

 

결론

스프링 프로파일을 선택하였다. 가벼워진 개발환경과 그에 맞는 수준의 구조화가 필요했다.

필요하다면 빌드 도구의 힘을 빌리기로 했다.

'java' 카테고리의 다른 글

tiered compilation  (0) 2022.12.15
intellij 처음 설정  (0) 2022.11.14
stream (1)  (0) 2021.05.25
lambda (2) - method references  (0) 2021.05.24
lambda (1)  (0) 2021.05.24
Comments