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 | 29 | 30 | 31 |
Tags
- 완전탐색
- BFS
- MST
- Web-BackEnd
- bruteforce
- cycle
- 삼성청년SW아카데미
- Graph
- ssafy서울
- Integer
- 시뮬레이션
- Spring Framework
- SSAFY
- spring-boot
- Disjoint-set
- ==
- Union-FInd
- spring
- 그래프
- Kruskal
- web
- Prim
- back-end
- 구현
- Floyd-Warshall
- HashMap
- DFS
- equals
- java
- 최소신장트리
Archives
- Today
- Total
devlog
IoC 컨테이너 : 스프링 IoC 컨테이너와 빈 본문
스프링 IoC 컨테이너와 빈
IoC (Inversion of Control) : 의존 관계 주입 (DI, Dependency Injection)이라고도 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입받아 사용하는 방법
스프링 IoC 컨테이너
- IoC 기능을 제공하며, 빈들을 담고 있기 때문에 컨테이너라고 불린다.
- BeanFactory : 스프링 IoC 컨테이너의 가장 최상위 인터페이스 (가장 핵심이 되는 클래스)
- 빈 설정 소스로 부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다.
초기에는 xml 기반의 IoC를 제공했지만 점차 Annotation 기반의 IoC를 제공하게 바뀌었다. ex) @Service, @Repositroy ...
빈 (Bean)
- 스프링 IoC 컨테이너 안에 들은 객체를 의미한다. 즉, 스프링 IoC 컨테이너에 의해 관리되는 객체
- 일반적인 클래스들은 빈이 아니며 @Repository 등과 같이 Annotation이 붙은 것들이 Auto Scan에 의해 빈으로 자동 등록된다.
- 빈으로 등록할 경우 장점
- 의존성 관리 : 의존성 주입을 하기 위해서는 빈으로 등록되어 있어야 한다.
- 스코프 : 싱글톤으로 만들어 관리하기 위해, 기본적으로 빈들은 싱글톤으로 생성된다.
- 여러가지 라이프사이클 인터페이스를 지원한다.
싱글톤을 사용할 때 얻을 수 있는 이점
- 메모리 면에서 효율적
- 런타임시 성능 최적화에 유리하다 : @Repository 와 같이 DB와 일을 하는 객체는 생성 비용이 비싸므로 싱글톤으로 생성하는 것이 효율적이다.
ApplicationContext
- 실제로 가장 많이 사용하게 될 BeanFactory
- IoC 컨테이너의 기능 + 추가적인 기능들을 제공
- BeanFactory
- 메세지 소스 처리 기능(i18n)
- 이벤트 발행 기능
- 리소스 로딩 기능
'Spring > 이론' 카테고리의 다른 글
IoC 컨테이너 : @Autowired (0) | 2020.08.11 |
---|---|
🌱Spring Framework : MyBatis (0) | 2020.05.26 |
🌱Spring Framework : Spring Web MVC (0) | 2020.05.19 |
🌱Spring Framework : Aspect-Oriented Programming (0) | 2020.05.19 |
🌱Spring Framework : Dependency Injection (0) | 2020.05.18 |
Comments