spring

[spring] 컴포넌트 스캔 (스프링 핵심 원리-기본편 from 김영한 강사님)

Lord DEVader 2023. 8. 29. 01:23
System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다.");

 

컴포넌트 스캔

    : @Component 애노테이션이 붙은 것들의 객체들을 자동으로 싱글톤으로 스피링 빈 저장소에 등록해줌

 


사용 방법 

    - @ComponentScan 애노테이션을 설정 정보에 붙여준다.

@Configuration
@ComponentScan(
        basePackages = "hello.core.member",
        basePackageClasses = AutoAppConfig.class,
public class AutoAppConfig {
	//@Bean 으로 등록
}

    - 사용할 클래스에 @Component 애노테이션을 붙여준다.

@Component
public class MemoryMemberRepository implements MemberRepository{

    private static Map<Long, Member> store = new HashMap<>();
    @Override
    public void save(Member member) {
        store.put(member.getId(), member);
    }

    @Override
    public Member findById(Long memberId) {
        return store.get(memberId);
    }
}

탐색 위치

 

    - 기본값

        설정 정보 클래스의 패키지부터 하위를 탐색.

    - 권장

        설정 정보 클래스 파일을 프로젝트 최상단에 위치시키기.

    - custom 방법

 basePackages = "hello.core",

탐색 대상

 

    - 애노테이션들

        - @Component

        - @Controller

        - @Service

           : 별다른 기능 없음. 핵심 비지니스 로직이라는 개발자끼리의 신호표시.

       - @Repository

       - @Configuration

    - 필터링

        - includeFilters

        - excludeFilters

 


 

출처

스프링 핵심 원리 - 기본편 - 인프런 | 강의 (inflearn.com)

 

스프링 핵심 원리 - 기본편 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢

www.inflearn.com