스프링 프로젝트를 구축함에 있어, @Bean을 통해 스프링 빈을 생성할 수 있었지만, 만약 프로젝트 규모가 커진다면 매번 생성해야 할 빈을 생성하는 부분에 모두 @Bean 어노테이션을 지정해주어야 하는 번거로움이 있다.
스프링에서는 이러한 문제를 해결하기 위해 @ComponentScan 어노테이션이 존재한다.
설정클래스에 @ComponentScan 을 붙여주고
빈을 생성할 클래스에서 @Component 어노테이션을 붙여주면 된다.
그리고 클래스 생성자에 의존관계를 통해 주입을 받아야 하는 경우 @Autowired 어노테이션을 지정하면 된다.
컴포넌트 스캔의 기본 대상은 아래와 같다.
@Component : 컴포넌트
@Controller : 스프링 MVC에서 컨트롤러로 사용
@Service : 서비스 계층임을 표기해주는 역할(비즈니스 로직)
@Repository : 스프링의 데이터 접근 계층에서 사용
@Configuration : 스프링 설정 정보로 인식, 싱글톤을 유지하도록 도와줌
'개발 > Spring' 카테고리의 다른 글
[Spring]빈 스코프와 Provider (0) | 2022.03.20 |
---|---|
[Spring]Lombok(롬복) (0) | 2022.03.13 |
[Spring]AOP(관점지향프로그래밍) 입문 (0) | 2022.02.27 |
[Spring]form을 통해 값을 받을때 클래스와 변수로.. (0) | 2022.02.25 |
[Spring]컴포넌트스캔 vs 스프링 빈 직접 등록 (0) | 2022.02.25 |