Spring/Basic(15)
-
[Spring Docs] DevTools
Developer ToolsDeveloper Tools 프로퍼티 기본값log-request-details 프로퍼티를 이용한 헤더 로깅Hot swapping정적 리소스 리로드컨테이너 재시작 없이 템플릿 뷰 로드빠른 애플리케이션 재시작컨테이너 재시작 없이 java 클래스 리로드자동 restartRestart vs Reloadcondition evalutaion에서 변경사항 로깅리소스 제외restart 비활성화알려져있는 제한사항애플리케이션의 프로덕션 배포를 위한 패키징1. Developer Tools?devTools 는 개발의 편의성을 위한 여러 기능들을 포함하고 있습니다.gradle 환경에서는 아래와 같은 의존성을 추가해주면 되고,dependencies { developmentOnly("org.springf..
2024.10.04 -
[Spring] yml 파일의 값을 상수로 초기화 하기
YAML 파일에 정의된 프로퍼티 값을 상수로 초기화하여 프로젝트 전역에서 사용하는 방법을 알아봅시다. 먼저, 아래와같은 프로퍼티가 정의되어있습니다. playground: relaxed-binding: api-key: vnhfM8vJjwzJEvGCqvNue9h8w77fhxPS secret_key: qEX3PSHHgm2mvaHur3RG2VD2eYbKc75j 상수로 읽어들일 필드값을 static으로 정의하고, setter에 static 변수를 set하는 코드를 작성합니다. 이때, @Value 설정은 setter 함수에 정의하면 됩니다. import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.C..
2022.04.08 -
[Spring Boot Core] Spring Boot Relaxed Binding using yaml
Externalized Configuration @ConfigurationProperties vs @Value 작성 방법 @Value @ConfigurationProperties Relaxed Binding @ConfigurationProperties에 적용되는 Relaxed Binding @Value에 적용되는 Relaxed Binding 테스트 결과 참고 1. Externalized Configuration Spring Boot는 설정의 외부화를 통해 다양한 환경에 따라 설정을 달리할 부분들을 별도로 관리할 수 있습니다. 설정의 외부화(Externalized Configuration)는 properties 또는 YAML 파일, 환경변수, Command-line 인자값 등을 통해 설정할 수 있습니다. ..
2022.03.30 -
[Spring Boot] REST API의 request header, body logging 설정하기
Spring Boot 애플리케이션에서의 logging 설정 rest api 요청에 관한 logging 설정하기 request header, body에 관한 logging 설정하기 Spring Boot 애플리케이션에서의 logging 설정 우리는 웹 애플리케이션에서 발생된 요청 정보를 로그파일로 남기기위해 logging 설정을 합니다. Spring Boot 에서는 패키지 경로에 따른 logging level을 프로퍼티 키 값으로 간단히 설정할 수 있습니다. 관련된 예약된 프로퍼티 키는 logging.level 입니다. logging level : off, trace, debug, info, warn, error, fatal rest api 요청에 관한 logging 설정하기 REST API request에..
2020.10.20 -
[Thymeleaf] inline javascript에서 유니코드로 표기된 한글문자 한글로 표기
thymeleaf inline javascript 에서 문자 그대로 출력하기 swagger 테스트 중에 거슬리는 현상을 발견했습니다. 바로, script 내의 msg가 한글이 아닌 유니코드로 표기되는 문제입니다. 과연.. 한글은 무조건 유니코드로 표기되는것인가 했더니, title에는 한글이 표기되는것을 보니 그 문제는 아닌것 같고. inline javascript에서 문자열 설정하는 과정에서 유니코드로 설정하는 것으로 추측되었습니다. 그럼, 실제 작성된 코드를 살펴보도록 합시다. window.onload = function(){ /* var nextPage = [[@{__${nextPage}__}]], msg = [[${msg}]]; if(nextPage) { alert(msg); location.hre..
2020.06.18 -
[Spring Boot] 프로퍼티 파일(yml) 여러개 설정하기
웹 애플리케이션의 실행 환경에 따른 구성설정의 외부화를 위해 프로퍼티 파일을 사용했습니다. spring boot에는 예약된 프로퍼티 키가 존재하며, 예약된 프로퍼티에 설정을 추가하는 것 만으로도 자동으로 설정을 대신해준다고 했었습니다. spring boot에서 예약된 프로퍼티 키를 이용하는 것 외에도 우리가 직접 프로퍼티를 설정하고 설정한 값을 이용할 수 있습니다. 별도로 추가한 프로퍼티가 많아질 경우에는 파일이 매우 복잡해질수도 있고, 프로퍼티를 확인하것도 불편해질 것입니다. 이에 대한 해결책으로 이번 시간에는 프로퍼티 파일을 여러개 설정하고 웹애플리케이션의 시작시 자동으로 읽어들이는 방법을 알아볼 것입니다. 코드분리 테스트 API Spring Boot 2.4 미만 버전 구성파일 위치 설정 OS의 환경..
2020.05.29