짱아의 개발 기록장

7강. 빈(Bean) 본문

반응형
1
2
3
OwnerController ownerController = new OwnerController();
 
OwnerController bean = applicationContext.getBean(OwnerController.class);
cs

위의 객체인 ownerController와

아래 객체인 bean은 전혀 다른 방향성의 객체이다.

ownerController는 진짜 그냥 객체인 반면, bean은 applicationContext에서 관리하는 빈(Bean)이다!

따라서, 이렇게 Spring의 applicationContext에서 관리하는 빈(Bean)들만 서로 의존성 주입(DI)을 할 수 있다,

그럼! 어떻게 Spring 컨테이너 안에다가 Bean을 만들어주느냐? (크게 3가지 방법)

1. Component Scanning

2.  또는 직접 일일히 xml이나 자바 설정 파일에 등록

1. Component Scanning

@ComponentScan이 어떤 파일부터 스캔을 해야하는지 알려준다...!

이 프로젝트에서는 @SpringBootApplication이 그 대상이다.

따라서, @SpringBootApplication이 있는 파일(=> PetClinicApplication.java)의 하위 파일에 해당되는 부분에서

@Component를 찾는다!

 

@Component

= @Repository

= @Service

= @Controller

= @Configuration(=> @Component를 사용하기 때문에 @ComponentScan이 되고 + 자바 설정 파일을 통해 직접 등록도 가능하다.)

...등 여러가지가 존재!

@Component를 사용하는 @Controller

2. 자바 설정 파일로 직접 등록

직접 SampelConfig파일을 만들어서 -> bean 등록해준다.

3. xml파일로 직접 등록 (고전적인 방법)

추후 보강 예정...!

반응형
Comments