컴포넌트 스캔 기능을 사용하면, 설정파일에서 직접 Bean 등록을 하지않고도 스프링이 직접 특정 클래스 타입의 객체를 생성하여 빈으로 등록하게 할 수 있다.
1.
빈으로 등록하고자 하는 객체의 클래스에 @Component 를 붙인다.
...
import org.springframework.stereotype.Component;
@Component
public class UserDao {
...
}
2.
설정파일에 @ComponentScan 을 붙인다.
이 때 basePackages 에 @Component 를 붙인 클래스의 패키지 경로를 쓴다.
...
import org.springframework.context.annotation.ComponentScan;
...
@Configuration
@ComponentScan(basePackages = {"spring"})
public class AppContext { // 설정파일
}
3. 빈 등록은 끝났다. 이제 사용하면 된다.
void main(String[] args) {
ApplicationContext appContext =
new AnnotationConfigApplicationContext(AppContext.class);
UserDao userDao = appContext.getBean("userDao", UserDao.class);
}
'2021 Spring Study' 카테고리의 다른 글
Spring 9. Bean 라이프사이클 미션 (0) | 2021.01.08 |
---|---|
Spring 8. 컴포넌트 스캔 연습 (0) | 2021.01.07 |
Spring 6. 의존 주입 및 @Autowired 연습 (0) | 2021.01.05 |
Spring 5. Application Context 사용하기 (0) | 2021.01.01 |
Spring 4. DI 이해하기 (0) | 2021.01.01 |