WebServer/Spring
[Spring] 빈 객체 스캔 (component-scan)
gangintheremark
2023. 9. 14. 17:43
728x90
component-scan
이란 빈으로 등록될 준비를 마친 클래스들을 스캔하여 빈으로 등록해주는 것이다. 즉, 사용자가 만든 빈들을 xml에 등록없이 객체를 생성할 수 있다. @Controller
@Service
@Component
@Repository
어노테이션을 붙인 클래스들이 빈으로 등록 될 준비를 한 것이다.
빈 객체 스캔
<context:component-scan>
태그의base-package
속성으로 지정된 패키지 내 클래스를 검색하여 자동으로 빈 등록- 내부적으로
<context:annotation-config />
기능을 포함 - XML 설정 파일에 여러 빈 정보를 명시적으로 추가하지 않고 자동으로 빈들을 등록
- 패키지에 있는 모든 클래스들이 빈으로 등록되는 것이 아니며 반드시 어노테이션으로 지정된 빈만 해당
@Component : 포괄적인 마킹
@Service : Service에 사용하는 마킹
@Repository : DAO에 사용하는 마킹
@Controller : Controller에 사용하는 마킹
<!-- com 패키지에 어노테이션으로 지정된 빈 객체 자동 등록 -->
<context:component-scan base-package="com.*" />
💡 기존의 빈 등록 방식
<bean id="dao" class="com.dao.DeptDAO" />
<bean id="service" class="com.service.DeptServiceImpl" />
728x90