본문으로 바로가기

[Spring] 스프링 부트 업데이트 - 4

category Spring 2021. 7. 22. 09:19

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8

 

스프링 부트 업데이트 - 인프런 | 강의

이 강의는 "스프링 부트 개념과 활용" 강의 확장팩으로 지난 2년간 있었던 스프링 부트 업데이트를 다루고 있습니다. 스프링 부트 2.1부터 2.4까지의 새로운 기능 및 변경 내역을 확인하시고 스프

www.inflearn.com

 

ㅇ 스프링 부트 2.4 - 강의 기준 정식 버전이 아님 (베타)

ㅁ 의존성과 프로퍼티 변경

- 스프링 프레임워크 5.3

 > 5.3.x로 계속 이어질듯 (안정화된 버전) 5.4는 없음

 

 

ㅁ 설정 파일 처리 방식 변경

- yml 은 --- 로 여러 문서로 나눌 수 있음

- application.properties 도 #--- 로 가능함 (2.4 부터)

- spring.profile 은 프로파일 이 값과 동일하면 아래 항목들을 적용

  spring.profile.include는 추가로 읽어드릴거

  spring.profile.active 는 현재 활성화 시킬 것

 >> spring.config.activate.on-profile에서는 위 include, active를 쓸 수 없음 (같은 문서에서)

 

ㅁ 설정 파일 추가

- spring.config.import 는 우선순위가 가장 높음

 >  spring.config.activate.on-profile 와 같이 쓸수있다.

 

ㅁ Configuration tree 지원

- spring.config.import=configtree:config 로 configtree로 읽을 수 있음

 > optional: 값을 붙여서 없어도 에러 나지 않게함

 

 

ㅁ 스프링 부트와 쿠버네티스 ConfigMap 연동

- 쿠버네티스 ConfigMap

 > 쿠버네티스가 지원하는 볼륨 중에 하나로 설정 데이터를 pod에 추가하는 방법을 제공

- application.properties 에서 

   spring.config.import=optional:(ConfigMap 경로) 

   를 넣어서 ConfigMap을 스프링 부트에서 읽는다. (optional로 있을경우에만 읽어들이게 함 )

 

ㅁ 클라우드 플랫폼 기반 설정

- spring.config.activate.on-cloud-platform 으로 cloudplatform 값을 설정할 수 있다.

  ( kubernetes, cloud foundary sap, none, heroku )

- spring.config.activate.on-cloud-platform=kubernetes
   spring.config.import=classpath:k8s-test.properties

  입력시, 쿠버네티스가 아니면 k8s-testproperties를 import 하지 않음

 

ㅁ 프로파일 그룹

- 프로파일 그룹을 사용하여, 컨트롤러 -> 서비스 구현체 에서 구현체를 변경할 수 있다.

  (ex) local -> local.  => local -> dev ) 

 

ㅁ 설정 파일 변경 마무리

- spring.config.use-legacy-processing=true

 > 스프링 부트 2.3과 동일하게 처리한다.

- 스프링 부트 2.4로 업데이트 해도 괜찮은 경우.

  > application.yaml 사용하지 않는다.

  > application-(profile).properties를 많이 사용하지 않는다.

- redis, zookeper 설정 관련 확장 방법도 제공