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
- GCP
- 인텔리제이
- 알고리즘
- MySQL
- 코딩테스트
- 구간합구하기
- String.valueOf()
- 코드스테이츠 백엔드
- Spring Web MVC
- java
- 싱글톤패턴
- 재귀와반복문
- 백준 11659
- 프로그래머스
- 클라우드에서 도커 실행하기
- 성능테스트툴
- 코드스테이츠
- Spring MVC 구성요소
- 스택
- Spring MVC 동작원리
- List.of
- 자바
- 재귀함수
- 버블정렬
- vm인스턴스생성
- 11659
- 백준
- Array.asList
- OOP
- 투포인터알고리즘
Archives
- Today
- Total
순간을 기록으로
[Spring] 스프링 빈을 등록하는 방법1: 컴포넌트 스캔 본문
컴포넌트 스캔(Component Scan)
스프링이 @Conponent 애노테이션을 이용해 컨테이너에 빈을 등록하는 방법을 말한다. 현재에는 @Controller, @Service, @Repository 애노테이션을 많이 사용한다. 이 애노테이션을 사용해도 똑같이 작동한다. 왜냐하면 이 애노테이션 정의 안에 @Component 애노테이션이 들어있기 때문이다.
@Controller
스프링은 @Controller를 발견하면 어노테이션이 붙은 클래스의 객체를 생성해 스프링 컨테이너에 등록을 한다. 이 말은 스프링 컨테이너에서 스프링 빈이 관리된다는 말과 같다.
@Autowired 어노테이션
@Autowired 어노테이션이 생성자에 붙어있을 때, 스프링은 스프링 컨테이너에서 멤버 서비스 빈 객체를 가져와서 멤버 컨트롤러 빈 객체에 넣어준다. 하지만 이때 멤버 서비스를 찾을 수 없다고 빨간 줄이 뜬다면 멤버 서비스 클래스를 빈 객체로 등록하지 않아서 그렇다.
@Service
멤버 서비스에 @Service 어노테이션을 붙여서 스프링 빈 등록을 한다.
의존성 주입(DI, Dependency Injection)
이렇게 컨트롤러와 서비스에 @Autowired를 생성자에 붙어주면, 컨트롤러가 생성될 때 스프링 컨테이너에서 서비스 객체를 가져와 컨트롤러 객체와 연결해주는데 이것을 의존성 주입이라고 한다.
@Repository
구현체에도 어노테이션을 붙여 스프링 빈에 등록한다.
'Development > Spring' 카테고리의 다른 글
[Spring] 회원관리예제 - 홈 화면 추가 (0) | 2021.11.19 |
---|---|
[Spring] 스프링 빈을 등록하는 방법2: 직접 등록하기 (0) | 2021.11.19 |
[Spring] 스프링 웹 개발의 방법 3가지 (0) | 2021.11.17 |
[Spring] Spring Boot Devtools (0) | 2021.11.17 |
[인텔리제이] .iml file does not exist (0) | 2021.11.17 |
Comments