티스토리 뷰

 

@Bean으로 등록하여 환경 변수 설정값을 출력하는 테스트 코드

스프링 부트 애플리케이션이 처음 실행되고 난 시점에 특정한 코드나 동작을 수행해야 할 때 사용하는 객체들

ApplicationRunner, CommandLineRunner

ApplicationRunner

스프링 부트 실행시 특정 Bean을 애플리케이션 실행후 실행되는 인터페이스

run메서드 하나만 있는 펑셔널 인터페이스이며 인자값으로 ApplicationArguments를 받는다

ApplicationArguments란 프로그램 실행시 명시되는 argument를 추상화된 API를 통해서 접근할 수 있는 인터페이스

환경변수 속성 우선순위

  1. JVM에 설정한 options 값
  2. Enviroment variables 에 설정한 값
  3. application.properties에 설정한 값

 

CommandLineRunner

ApplicationRunner와 동일한 기능을 제공하는 인터페이스이나 인자값을 ApplicationArguments 대신 String 가변인자를 받는다.

 

실행 순서를 위해 @Order를 사용하기도한다.

 

https://mangkyu.tistory.com/233

https://www.daleseo.com/spring-boot-runners/

 

application.properties 파일을 이용한 contextPath 환경 설정 변경

 

 

Bean 클래스의 filed 값을 property에서 읽어온 값 주입하는 방법

@Value 애노테이션 속성값으로 placeholder 치환자 값을 사용하기 위해 

PropertyPlaceholderConfig 클래스 생성 및 등록

 

@Value 애노테이션 치환자 부분을 같은이름의  property 로 대체

https://mangkyu.tistory.com/167

https://catsbi.oopy.io/379afd0c-d956-4133-b585-20d13d823c1a

 

@Value 애노테이션의 역할과 기능

@Value 애노테이션의 기능과 역할 및 사용법

catsbi.oopy.io

 

 

property 값이 엄청 많아지면 field를 무한정 늘리기 부담, 재사용 하기 어려움

별도의 클래스로 추출

 

Binder 유틸리티 클래스는 properties 파일에 선언된 이름과 ServerProperties에 게터, 세터 구현된 field 값과 매칭하여 바인딩하는 역할을 한다.

properties에 내용이 많아져도 ServerProperties에서 관리를 해주니 깔끔~

 

 

설정정보가 많아져서 Config 파일이 나뉘어져야 하거나 ServerPropertiesConfig 내부 컨디션 조건들을 더 간편하게 하기위해

BeanPostProcessor를 사용하여 객체 생성 초기화 후 프로퍼티 설정을 해야 하는 설정 객체가 만들어지면 properties 파일 이름과 매칭되는 설정 정보 바인딩

 

 

 

prefix 다는 작업

properties 파일에 패키지 파일명같이 어느쪽에 선언된 클래스 필드인지 접근 연산자로 찾아올 수 있게 만드는 작업

contextPath나 Port 등 다른 설정파일에도 자주 쓰여지는 네이밍 이라면 중복될 수 있으니 별도의 선언부를 만들어 주는 작업

 

 

https://www.inflearn.com/course/%ED%86%A0%EB%B9%84-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%9D%B4%ED%95%B4%EC%99%80%EC%9B%90%EB%A6%AC/dashboard

 

토비의 스프링 부트 - 이해와 원리 - 인프런 | 강의

스프링 부트의 핵심 기능을 직접 만들어보면서 스프링 부트의 동작 원리를 이해하고, 이를 통해 스프링 부트를 잘 학습하고 사용하는 방법을 배우는 강의입니다. 스프링 부트가 사용하는 스프

www.inflearn.com

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함