[spring] @ComponentScan 의 대상 위치

2024. 1. 21. 23:48·프로젝트 기록/spring
  • 마주하게 된 문제
    • 최근 프로젝트를 다시 시작하게 swagger 에 대한 설정을 하게 되었고, 적용이 안되는 문제를 만나게 되었고 빠르게 해결하게 되었다.
    • 원인
      • 우리가 @Configuration 과 @Bean 을 통해 어노테이션을 부여해 두었지만, 스프링 빈에 등록이 되어있지 않아 발생하게 된 문제이다.
    • 해결 방법
      • @ComponentScan 이 적용되는 Scan 범위를 알고 있으면 바로 해결 할 수 있는 문제이다.
      • @ComponentScan이 포함된 패키지와 그 하위 패키지를 스캔 대상으로 지정합니다.
      • @SpringBootApplication 에 @ComponentScan 을 포함하고 있으므로 적용하고자 하는 설정을 @SpringBootApplication 어노테이션이 있는 것보다 하위패키지에 설정하면된다.
      • 아니면 @ComponentScan 에 어노테이션을 설정하면된다.
  • 추가 설명
    • @ComponentScan 어노테이션은 Spring 프레임워크에서 스프링 빈을 자동으로 검색하고 등록하기 위한 설정의 일부이다.
    • 우리가 자연스럽게 사용하는 어노테이션 중 하나인, @Configuration 어노테이션이 붙은 클래스에 함께 적용되며, 해당 클래스가 선언된 패키지와 그 하위 패키지에서 @Component, @Service, @Repository, @Controller 등이 붙은 클래스들 을 스캔새허 스프링 애플리케이션 컨텍스트 빈에 등록된다.

아래에 있는 @Configuration 안에 @Component 어노테이션이 있고 @ComponentScan의 대상이된다.

@Configuration 

// @Configuration 에는 @Component 어노테이션이 있고 @ComponentScan 대상이 된다.
@Target(ElementType.TYPE)  
@Retention(RetentionPolicy.RUNTIME)  
@Documented  
@Component
  • 하지만, 위와 같이 단순히 어노테이션을 설정해 둔다고해서 스프링 빈에 등록 되는 것은 아니다. 위에 해결 방법에 설명해 두었지만 설정하고자 하는 Config의 위치를 잘 설정해야한다.
반응형

'프로젝트 기록 > spring' 카테고리의 다른 글

[Spring Project] Util 메서드는 Spring bean 으로 등록해야할까? (feat. static Method)  (0) 2025.03.23
[Spring] AOP 를 활용한 횡단 관심사 구현  (0) 2024.02.29
'프로젝트 기록/spring' 카테고리의 다른 글
  • [Spring Project] Util 메서드는 Spring bean 으로 등록해야할까? (feat. static Method)
  • [Spring] AOP 를 활용한 횡단 관심사 구현
코딩 코딩 코오딩
코딩 코딩 코오딩
  • 코딩 코딩 코오딩
    코딩하는 누누
    코딩 코딩 코오딩
  • 전체
    오늘
    어제
    • 분류 전체보기 (491)
      • 생산성 (2)
        • 인텔리제이 (2)
      • 프로젝트 기록 (14)
        • git (2)
        • spring (3)
        • TestCode (2)
        • spring security (3)
        • 기타 (2)
        • MySQL (0)
        • Cloud (2)
      • 회고 (4)
      • Spring (6)
      • JPA (0)
      • DB (4)
        • MySql (2)
        • Redis (1)
      • Java (7)
        • JSP (1)
      • 잡담 (1)
      • CS (30)
        • 컴퓨팅 사고 (0)
        • 배열 (4)
        • 알고리즘 (8)
        • 메모리 (7)
        • 자료구조 (9)
        • 암호학 (2)
      • opencv (14)
      • AI (56)
        • 머신러닝 (2)
        • 딥러닝 (7)
        • tensorflow (3)
        • 머신러닝(딥러닝) 정리 (21)
        • 강화학습 (7)
        • 논문 읽기 (1)
        • 잡동사니 (1)
        • python AI (13)
        • 선형대수 (1)
        • 확률론 (0)
      • 알고리즘 공부 (177)
        • 그래프 이론 (0)
        • 다익스트라 (4)
        • 위상정렬 (3)
        • 신장트리-크루스칼 알고리즘 (4)
        • 플로이드 워셜 (3)
        • 이진탐색 (9)
        • 백트래킹 (11)
        • 부르드포스 (9)
        • 다이나믹 프로그래밍 (20)
        • BFS & DFS (24)
        • 그리디 (6)
        • 구현 (15)
        • 정렬 (3)
        • 기타 (62)
        • 수학? (1)
      • 코딩 (173)
        • 파이썬(python) (15)
        • c언어 (13)
        • 프로그래머스 lv1 (46)
        • 프로그래머스 lv2 (41)
        • 백준 - c++ (49)
        • Softeer (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    스택
    캘리브레이션
    코딩문제
    순차 탐색
    그리디
    에라토슽네스의 체
    선택정렬
    코딩기초스킬
    정렬
    C언어 기초
    코딩
    소수찾기
    프로그래머스
    인접리스트
    큐
    n진법 변환
    if문
    왜곡보정
    삽입 정렬
    이미지처리
    백준
    다이나믹 프로그래밍
    인접행렬
    알고리즘
    자료구조
    c언어
    코딩기초
    BFS
    코딩테스트
    DFS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코딩 코딩 코오딩
[spring] @ComponentScan 의 대상 위치
상단으로

티스토리툴바