본문 바로가기

스프링 관련/토비의 스프링 부트 - 이해와 원리7

섹션 10. 스프링 부트 자세히 살펴보기 스프링 부트 자세히 살펴보기 2024. 6. 16.
섹션 9. Spring JDBC 자동 구성 개발 자동 구성 클래스와 빈 설계오버뷰1. 자동 구성 클래스를 설계할 때는 어떤 조건을 가질 때 사용될 것인가 그걸 먼저 결정해야 되는데,  보통 특정 클래스가 라이브러리에 포함되어 있는가, 스타터 등에 Dependency로 잡혀 있는가 요걸로 판단을 한다.본 강의에서는 org.springframework.jdbc.core.JdbcOperations 클래스가 Dependency로 존재하는지를 체크한다.(# 원래 JDBC 템플릿은 이 JDBC Operations 인터페이스를 구현한 것이다,JdbcOperations 인터페이스는 Spring에 JDBC 모듈이 로딩이 돼야지만(라이브러리 의존성 추가 되어야지만) 인터페이스를 찾을 수 있다.) 2. 일단 데이터 소스 인터페이스를 구현한 어떤 빈이 존재해야 한다.Dat.. 2024. 6. 9.
섹션 8. 외부 설정을 이용한 자동 구성 Environment 추상화와 프로퍼티 해당 섹션에서는 외부 설정을 활용하는 스프링 부트의 자동 구성을 살펴본다.자동 구성은 왜 필요한가?-> 스프링 부트가 우리를 대신해서 어떤 기술의 인프라스트럭처 빈의 Configuration 클래스를 미리 다 만들어 놓은 것이다.그 기술을 사용하는데 필요로 하는 빈 인스턴스를 생성하는 빈 구성정보 클래스들을 만들어놓고 이걸 가져다 사용하라고 하는 것이다. 근데 Spring Boot가 뽑아 놓은 Configuration 클래스만 150개 가까이 되고, 그 전체 목록이 .imports로 끝나는 파일에 들어있다고 이야기를 했었다..imports에 들어있는 모든 Bean을 무조건 다 적용하는 것은 아니고, 이것은 일단 후보로 로딩이 되고 @Conditional 이라는 Sp.. 2024. 6. 6.
섹션 7 조건부 자동 구성 스타터와 Jetty 서버 구성 추가   @Conditional과 Condition @Conditional 학습테스트 커스텀 @Conditional  자동 구성 정보 대체하기=> 자동 구성 정보라는게 이제는 대충 어떤 뜻인지 알겠음, 사용자 구성 정보 Bean들은 스프링 부트 프로젝트 실행 이후 사용자가 직접 만든 로직을 가지고 있는 클래스를 말하고, 이건 컴포넌트 스캔 이라는 방식으로 등록됨. 자동 구성 정보 는 사용자가 직접 만든 클래스(빈)이 아니라, 스프링 프로젝트에 기존에 이미 만들어져 있는 클래스(빈, 아마 대부분 인프라 스트럭처 빈)들을 말하는 것이였고, 이 빈들은 '자동 구성 정보'(Auto Configuration) 방식으로 스프링 컨테이너에 등록이 된다는 것! 애플리케이션의 로직을 담당하.. 2024. 6. 3.