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
- Secure Coding
- 스프링 핵심원리
- Spring
- 자바연습문제
- 스프링 부트와 JPA
- inflearn
- JPA
- docker
- 스프링MVC
- 스프링입문
- Python
- java
- Java의정석
- 계층 쿼리
- REGEXP_SUBSTR
- 인프런
- 제네릭
- 자바공부
- Numpy
- 시큐어코딩
- DispatcherServlet
- 불친절한 SQL 프로그래밍
- 불친절한SQL프로그래밍
- 이것이자바다
- 서블릿
- 분석함수
- 자바의정석
- 김영한
- 자바의정석 연습문제
- 스프링
Archives
- Today
- Total
Continuous Challenge
5. 스프링 빈과 의존관계 본문
728x90
728x90
스프링 빈을 등록하는 방법
1. 컴포넌트 스캔과 자동 의존관계 설정
2. 자바 코드로 직접 스프링 빈 등록하기
컴포넌트 스캔 원리
- @Component 애노테이션이 있으면 스프링 빈으로 자동 등록된다.
- @Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 때문이다.
- @Component 를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록된다.
. @Controller
. @Service
. @Repository
기본적으로는 main() 을 포함한 패키지 하위의 컴포넌트에 대해서만 스캔이 이루어진다.
스프링은 스프링 컨테이너에 스프링 빈을 등록할 때, 기본으로 싱글톤으로 등록한다(유일하게 하나만 등록해서 공유한다) 따라서 같은 스프링 빈이면 모두 같은 인스턴스다. (메모리 절약 가능)
설정으로 싱글톤이 아니게 설정할 수 있지만, 특별한 경우를 제외하면 대부분 싱글톤을 사용한다.
DI(Dependency Injection, 의존성 주입)
- DI에는 필드 주입, setter 주입, 생성자 주입 3가지 방법이 있다.
- 의존관계가 실행중에 동적으로 변하는 경우는 거의 없으므로 생성자 주입을 권장한다.
728x90
728x90
'Spring > 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MV' 카테고리의 다른 글
7. AOP (0) | 2022.03.11 |
---|---|
6. 스프링 DB 접근 기술 (0) | 2022.03.11 |
4. 회원 관리 예제 - 백엔드 개발 (0) | 2022.03.08 |
3. 스프링 웹 개발 기초 (0) | 2022.03.07 |
2. 프로젝트 환경 설정 - Build 실행하기 (0) | 2022.03.06 |
Comments