📌 빈을 등록

 

원래 하던 방식으로 xml 파일에 빈을 등록하여 객체 생성하는 방법을 먼저 복기해보자.

 

DeptMain ——> DeptService ——> DeptDAO ——> DB

                            DeptServiceImpl

다음과 같이 xml에 명시적으로 등록함

<bean id="dao" class="com.dao.DeptDAO" />
<bean id="service" class="com.service.DeptServiceImpl" />

 

 

 

 

 


 

 

 

📌 빈을 등록하지 않는 방법

 

  • ApplicationContext에 생성할 빈들의 정보를 지정해야 된다.
    (패키지 단위로 생성할 빈 정보를 제공)

    <context:component-scan base-package="com.*" />
    ⇒ 내부적으로 <context:annotation-config /> 기능을 포함한다.
    ⇒ 작성안해도 됨

 

  • base-package 에 있는 모든 빈들이 등록되지 않고 명시적으로 마킹해야 된다.
    마킹하는 방법은 다음과 같다.

    @Component : 포괄적인 마킹 방법
    @Repository : DAO에 사용하는 마킹
    @Service : Service에 사용하는 마킹
    @Controller
    @RestController 
    @ControllerAdvice
     @Configuration

 

 

 

 


 

 

 

👇👇👇

 

 

 

 

<context:component-scan base-package=" " />가 내부적으로
<context:annotation-config /> 기능을 포함하기 때문에 
삭제해준다.

 

 

 

이제 각 빈들에 맞는 마킹 방법으로 수정해주자.

 

xoo | 수진