본문 바로가기

Java

spring / spring bean 등록하는 방법 2가지 _ 1 Component Scan(컴포넌트 스캔 및 자동 의존관계 설정)

Spring Bean을 등록하는 방법에는 2가지가 있다.

  - component를 추가해서 spring이 알아서 찾도록 하는 방법과

  - java code를 작성해서 spring아 등록해줘. 라고 이야기하는 방법 

 

1. Component annotation ( 컴포넌트 스캔 및 자동 의존관계 설정) 

 

 Spring이 뜰 때, Spring Container라는 통이 생김

 이때 @Controller가 있으면 해당 객체를 생성해서 Container에 넣어서 관리 

 (= Spring Container에서 Spring Bean이 관리됨)

 

  1) Component Scan

   @Controller, @Service, @Repository 등 Spring이 올라올때

   Component Annotation이 있으면 Spring Container에 등록

 

 2) 자동 의존관계 설정

   @Autowired를 사용해서 component끼리 서로 연결해줌

 

@Controller
public class MemberController {

    private final MemberService memberService;

    @Autowired
    public MemberController(MemberService memberService) { //Dependency Injection
        this.memberService = memberService;
    }
}

 

Component를 등록하지 않으면 다음과 같은 오류 발생

해당 오류 확인 시, 컴포넌트 등록여부 확인!

Consider defining a bean of type 'hello.hellospring.service.MemberService' in your configuration.

 

 

 

 

 

출처 | 인프런 / 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술(김영한)

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8#

 

 

반응형