You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
참고로 @transactional 을 사용하려면 TransactionManager 가 스프링 빈으로 등록되어 있어야 한다.
테이블을 생성하고, 회원 데이터를 저장한 다음 다시 조회해서, 기존 데이터와 같은지 간단히 검증한다.
정리
회원 데이터를 DB에 보관하고 관리하기 위해 앞서 빈으로 등록한 JdbcTemplate , DataSource , TransactionManager 가 모두 사용되었다. 그런데 생각해보면 DB에 데이터를 보관하고 관리하기 위해 이런 객체들을 항상 스프링 빈으로 등록해야 하는 번거로움이 있다. 만약 DB를 사용하는 다른 프로젝트를 진행한다면 이러한 객체들을 또 스프링 빈으로 등록해야 할 것이다.
자동 구성 확인
JdbcTemplate , DataSource , TransactionManager 가 스프링 컨테이너에 잘 등록되었는지 간단히 확인해보자.
- 우리가 등록한 JdbcTemplate , DataSource , TransactionManager 가 분명히 스프링 빈으로 등록되지 않았다는 것이다.
- 그런데 테스트는 정상 통과하고 심지어 출력결과에 JdbcTemplate , DataSource , TransactionManager 빈들이 존재하는 것을 확인할 수 있다. 어떻게 된 것 일까?
- 사실 이 빈들은 모두 스프링 부트가 자동으로 등록해 준 것이다.
스프링 부트의 자동 구성
스프링 부트는 자동 구성(Auto Configuration)이라는 기능을 제공하는데, 일반적으로 자주 사용하는 수 많은 빈들을 자동으로 등록해주는 기능이다.
앞서 우리가 살펴보았던 JdbcTemplate , DataSource , TransactionManager 모두 스프링 부트가 자동 구성을 제공해서 자동으로 스프링 빈으로 등록된다.
이러한 자동 구성 덕분에 개발자는 반복적이고 복잡한 빈 등록과 설정을 최소화 하고 애플리케이션 개발을 빠르게 시작할 수 있다.
자동 구성 살짝 알아보기
스프링 부트는 spring-boot-autoconfigure 라는 프로젝트 안에서 수 많은 자동 구성을 제공한다.
그래서 개발자가 직접 빈을 등록하지 않아도 JdbcTemplate , DataSource , TransactionManager 가 스프링빈으로 등록된 것이다.
스프링 부트가 제공하는 자동 구성(AutoConfiguration)
스프링 부트는 수 많은 자동 구성을 제공하고 spring-boot-autoconfigure 에 자동 구성을 모아둔다.
스프링 부트 프로젝트를 사용하면 spring-boot-autoconfigure 라이브러리는 기본적으로 사용된다.
Auto Configuration - 용어, 자동 설정? 자동 구성?
Auto Configuration은 주로 다음 두 용어로 번역되어 사용된다.
자동 설정
자동 구성
자동 설정
Configuration 이라는 단어가 컴퓨터 용어에서는 환경 설정, 설정이라는 뜻으로 자주 사용된다. Auto Configuration은 크게 보면 빈들을 자동으로 등록해서 스프링이 동작하는 환경을 자동으로 설정해주기 때문에 자동설정이라는 용어도 맞다.
자동 구성
Configuration 이라는 단어는 구성, 배치라는 뜻도 있다. 예를 들어서 컴퓨터라고 하면 CPU, 메모리등을 배치해야 컴퓨터가 동작한다. 이렇게 배치하는 것을 구성이라 한다. 스프링도 스프링 실행에 필요한 빈들을 적절하게 배치해야 한다. 자동 구성은 스프링 실행에 필요한 빈들을 자동으로 배치해주는 것이다.
자동 설정, 자동 구성 두 용어 모두 맞는 말이다. 자동 설정은 넓게 사용되는 의미이고, 자동 구성은 실행에 필요한 컴포넌트 조각을 자동으로 배치한다는 더 좁은 의미에 가깝다.
Auto Configuration은 자동 구성이라는 단어를 주로 사용하고, 문맥에 따라서 자동 설정이라는 단어도 사용하겠다.
Configuration이 단독으로 사용될 때는 설정이라는 단어를 사용하겠다.
정리
스프링 부트가 제공하는 자동 구성 기능을 이해하려면 다음 두 가지 개념을 이해해야 한다.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
스프링 부트 스타터
스프링 부트 스타터 - 이름 패턴
스프링 부트 스타터 - 자주 사용하는 것 위주
라이브러리 버전 변경
ext[tomcat.version] =10.1.4``예제 만들기
JdbcTemplate 을 사용해서 회원 데이터를 DB에 저장하고 조회하는 간단한 기능이다.
Member
DbConfig
MemberRepository
MemberRepositoryTest
정리
회원 데이터를 DB에 보관하고 관리하기 위해 앞서 빈으로 등록한 JdbcTemplate , DataSource , TransactionManager 가 모두 사용되었다. 그런데 생각해보면 DB에 데이터를 보관하고 관리하기 위해 이런 객체들을 항상 스프링 빈으로 등록해야 하는 번거로움이 있다. 만약 DB를 사용하는 다른 프로젝트를 진행한다면 이러한 객체들을 또 스프링 빈으로 등록해야 할 것이다.
자동 구성 확인
JdbcTemplate , DataSource , TransactionManager 가 스프링 컨테이너에 잘 등록되었는지 간단히 확인해보자.
DbConfigTest
빈 등록 제거
DbConfig 에서 빈 등록을 제거하는 방법은 2가지 이다.
여기서는 간단히 @configuration을 주석처리해보자
DbConfig - 수정
스프링 부트의 자동 구성
스프링 부트는 자동 구성(Auto Configuration)이라는 기능을 제공하는데, 일반적으로 자주 사용하는 수 많은 빈들을 자동으로 등록해주는 기능이다.
앞서 우리가 살펴보았던 JdbcTemplate , DataSource , TransactionManager 모두 스프링 부트가 자동 구성을 제공해서 자동으로 스프링 빈으로 등록된다.
이러한 자동 구성 덕분에 개발자는 반복적이고 복잡한 빈 등록과 설정을 최소화 하고 애플리케이션 개발을 빠르게 시작할 수 있다.
자동 구성 살짝 알아보기
JdbcTemplateAutoConfiguration
JdbcTemplateConfiguration
자동 등록 설정
다음과 같은 자동 구성 기능들이 다음 빈들을 등록해준다.
그래서 개발자가 직접 빈을 등록하지 않아도 JdbcTemplate , DataSource , TransactionManager 가 스프링빈으로 등록된 것이다.
스프링 부트가 제공하는 자동 구성(AutoConfiguration)
Auto Configuration - 용어, 자동 설정? 자동 구성?
Auto Configuration은 주로 다음 두 용어로 번역되어 사용된다.
자동 설정
Configuration 이라는 단어가 컴퓨터 용어에서는 환경 설정, 설정이라는 뜻으로 자주 사용된다. Auto Configuration은 크게 보면 빈들을 자동으로 등록해서 스프링이 동작하는 환경을 자동으로 설정해주기 때문에 자동설정이라는 용어도 맞다.
자동 구성
Configuration 이라는 단어는 구성, 배치라는 뜻도 있다. 예를 들어서 컴퓨터라고 하면 CPU, 메모리등을 배치해야 컴퓨터가 동작한다. 이렇게 배치하는 것을 구성이라 한다. 스프링도 스프링 실행에 필요한 빈들을 적절하게 배치해야 한다. 자동 구성은 스프링 실행에 필요한 빈들을 자동으로 배치해주는 것이다.
자동 설정, 자동 구성 두 용어 모두 맞는 말이다. 자동 설정은 넓게 사용되는 의미이고, 자동 구성은 실행에 필요한 컴포넌트 조각을 자동으로 배치한다는 더 좁은 의미에 가깝다.
정리
스프링 부트가 제공하는 자동 구성 기능을 이해하려면 다음 두 가지 개념을 이해해야 한다.
자동 구성 직접 만들기 - 기반 예제
MemoryFinder
MemoryController
MemoryConfig
패키지 위치
Beta Was this translation helpful? Give feedback.
All reactions