Enviroment 추상화와 프로퍼티
스프링 부트는 외부 설정 정보를 이용해서 생성된 빈 오브젝트의 프로퍼티값을 수정할 수 있습니다.
대부분 자동 구성에 의해서 만들어지는 빈 오브젝트는 대부분 디폴트값이 들어가 있습니다. 예시로 스프링 부트의 톰켓 포트번호를 지정하지 않아도 8080포트로 서블릿이 설정되는 부분이 있습니다.
서블릿을 구성할때 직접 톰캣 구성정보를 등록하여 커스텀 빈 등록을 하여 사용할 수도 있지만 기술적으로 여러 지식이 필요한 기술 빈들이 존재하여 한두가지 설정을 변경하기 위해 직접 커스텀빈으로 생성하는 작업을 직접 작상한다는 것은 오류가 발생할 여기도 있고 굉장히 번거로운 일입니다.
따라서 Spring boot는 Spring boot가 제공하는 자동 구성 Configuration클래스에 다양한 프로퍼티들을 변경할 수 있는 방법을 제공하는데 Environment 추상화 애플리케이션이 동작하는 환경에 대한 추상정보 중에서 프로퍼티를 읽어오는 매커니즘을 제공합니다. 이러한 매커니즘을 통해 디폴트로 설정된 값들을 변경해 줍니다.
Spring boot Enviroment Abstraction는 StandardEnvironment, StandardServletEnvironment, Spring boot 3가지로 구분할 수 있는데 OS환경변수, Java Properties, @PropertySource 애노테이션 등등을 Environment Abstraction을 통해서 읽어올 수 있습니다. 또한 Enviroment Properties를 읽어올때 우선순위를 염두해야합니다.
'Spring > 인프런 토비의 Spring Boot' 카테고리의 다른 글
섹션 8-3 [외부 설정을 이용한 자동 구성] @Value와 PropertySourcesPlaceholderConfigurer (0) | 2024.07.26 |
---|---|
섹션 8-2 [외부 설정을 이용한 자동 구성] 자동 구성에 Enviroment 프로퍼티 적용 (0) | 2024.07.26 |
섹션 7-6 [조건부 자동구성] 스프링 부트의 @Conditional (0) | 2024.06.27 |
섹션 7-5 [조건부 자동구성] 자동 구성 정보 대체하기 (0) | 2024.06.27 |
섹션 7-4 [조건부 자동구성] 커스텀 @Conditional (0) | 2024.06.27 |