Bean
빈은 IoC 컨테이너에 의해 관리되는 객체이다.
빈이 생성되려면 설정 메타데이터(configuration metadata)가 컨테이너에게 제공되어야 한다.
설정 메타데이터에는 다음과 같은 것들이 있다.
1. 클래스 이름: 빈의 실제 구현 클래스
2. 빈 동작 설정 요소: 빈이 컨테이너에서 어떻게 동작해야 하는지를 나타낸다. (scope, lifecycle callbacks 등)
3. 다른 빈에 대한 참조: 빈이 동작하는 데 다른 빈을 참조할 수 있다.
4. 새로 생성된 객체에 설정할 기타 설정 세팅들 (예를 들면 커넥션 풀을 관리하는 빈에서 생성할 연결의 수, 풀의 사이즈 등)
그리고 설정 메타데이터는 다음 속성들로 변환된다. [공식문서 바로가기]
Configuration
IoC 컨테이너에게 설정 메타데이터를 제공하는 방법, 즉 설정(Configuration) 방법에는 3가지 방법이 있다.
1. 어노테이션 기반: @Component(+@Service, @Respository, @Controller) 어노테이션으로 설정
2. 자바 기반: @Configuration과 @Bean 어노테이션을 이용하여 자바 구성 클래스를 작성하여 설정
3. XML 기반: XML 기반의 설정 파일로 설정
만약 스프링부트를 이용한다면, 개발자가 따로 설정을 해주지 않아도 스프링이 자동 설정(auto configuration)을 해주는 것들도 있다. 예를 들면 dataSource 같은 것들이 있다 ~
'프로그래밍 > JAVA Spring' 카테고리의 다른 글
[Spring 스프링] @SpringBootTest로 테스트할 때 데이터베이스 롤백하기 (4) | 2023.05.07 |
---|---|
[Spring 스프링] Mock을 이용한 테스트 (0) | 2023.04.30 |
[Spring 스프링] Spring Core - IoC(Inversion of Control), DI(Dependency Injection) (0) | 2023.04.24 |
[Spring 스프링] Layered Architecture (0) | 2023.04.23 |
[Spring 스프링] POJO란? (0) | 2023.04.23 |