Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프로그래머스 괄호 회전하기 python
- 스프링부트 게시판만들기
- spring jpa 사이드프로젝트
- 파이썬 기초
- 타입스크립트 기초문법
- 유니티Material
- 스프링부트 블로그만들기
- python 괄호 회전하기
- 유니티
- 유니티기초
- 스프링부트 미니프로젝트
- 괄호 회전하기 파이썬
- typescript 기초문법
- springboot 사이드프로젝트
- spring jpa 게시판
- 타입스크립트 기본문법
- jpa 게시판
- 스프링게시판프로젝트
- springboot 게시판
- 파이썬 괄호 회전하기
- springboot 미니프로젝트
- 스프링부트 회원가입
- JS기초
- 스프링 게시판 만들기
- 타입스크립트 기초
- 스프링부트 블로그
- springboot 게시판만들기
- 유니티Cube
- 스프링부트 update
- springboot 게시판 프로젝트
Archives
- Today
- Total
Digking's cave
Spring Container - BeanFactory / ApplicationContext / Bean (스프링컨테이너 / 빈 / bean 수동등록 / bean 자동등록) 본문
Spring/Spring 이론
Spring Container - BeanFactory / ApplicationContext / Bean (스프링컨테이너 / 빈 / bean 수동등록 / bean 자동등록)
디깅 2022. 8. 25. 11:14728x90
Spring Container 에는 두가지가 있다.
1. BeanFactory
2. ApplicationContext
1. BeanFactory
- 빈을 등록/생성/조회 등 빈을 관리한다.
- @Bean 을 붙히면 BeanFactory에 빈 이름 / 빈 객체 가 저장된다.
- getBean()을 통해 빈을 인스턴스화 한다.
- getBean()이 호출된 시점에서야 해당 빈을 생성
2.ApplicationContext
- 빈을 등록/생성/조회 등 빈을 관리할 수 있다.
- BeanFactory을 상속받고 + 여러가지 컨테이너 기능이 추가된다.
- Context초기화 시점에 모든 싱글톤 빈을 미리 로드 - 애플리케이션 가동 후에는 빈을 지연없이 받을 수 있다
Spring Container는 객체의 인스턴스를 싱글톤 관리한다. (= 싱글톤 컨테이너)
→ AppConfig클래스를 통해 만든 빈 목록의 빈들은 같은 빈을 여러번 불러도 주소 자체는 같다.
싱글톤을 보장받으려면 @Configuration을 적용해야 한다.
@Bean 만 적용하면 싱글톤을 보장하지 못한다.
등록하는 방법
- @Configuraton 설정클래스로 설정
- @Bean 빈 등록(메소드 이름이 빈 이름으로 설정된다)
스프링컨테이너는 @Configuraton가 붙은 클래스를 자동으로 빈으로 등록
해당 클래스를 파싱해서 @Bean 이 있는 메소드를 찾아서 빈을 생성해준다.
수동 등록이 필요한 경우는 대부분 아래와 같은 이유이다.
- 개발자가 직접 제어가 불가능한 라이브러리를 활용할 때
- 애플리케이션 전범위적으로 사용되는 클래스를 등록할 때
- 다형성을 활용하여 여러 구현체를 등록해주어야 할 때
빈을 자동으로 등록하도록 할 수 있다.
빈으로 등록할 클래스에 @Component 붙여주고
설정 파일에 @Configuration 과 @ComponentScan 을 붙여줍니다.
(@ComponentScan 이 @Component 붙은 모든 객체를 찾아서 빈으로 등록한다.)
@Component 를 갖는 annotation (@ComponentScan 의 대상)
@Controller
@Service
@Repository
@Configuration
반응형
'Spring > Spring 이론' 카테고리의 다른 글
OAuth2.0 개념 및 동작원리 / Authentication / Authorization (0) | 2022.12.19 |
---|