본문 바로가기

개발/Spring

[Spring] 인프런 2차 강의

스프링 IoC는 Bean설정 파일이 있어야 한다.

Bean파일을 읽어 IoC에서 객체들을 관리했었기 때문이다.

 

맨 처음 Spring에서는 이러한 Bean을 만들어서 일일이 등록했어야 했다.

(하지만 이렇게 해서라도 IoC/DI를 사용하는 것이 굉장히 효율적이 였던 것 같다.)

 
<bean에 등록하면 Bean이 그 객체들을 관리한다.
해당 빈 안에 <property 를 사용해 ref를 통해 의존성 주입을 할 수 있다.


현재는 다른 간편한 방법으로 의존성 주입을 할 수 있다.

시대 흐름: application.xml빈을 등록했었다. -> 어노테이션을 활용해서 주입했었다. -> xml을 자바 파일로 만들었었다. -> 의존성 주입을 직접하지 않고, @Autowired로 했다. -> 자바에 등록된 빈도 없앴다.(ComponentScan~을 활용해 빈 등록도 알아서 해준다.)


현재는 스프링 2.5부터 가능한 scan을 활용한다.
bean에 context:component-scan~ 을 선언해주면 어노테이션들을 스캐닝해서 등록해준다.

 

그런데 이 방법 말고 Bean설정 파일을 xml말고 자바로 만들 수 없을까 해서 나온게 ApplicationConfig.java이다.

 

-> @Configuration을 위에 선언해주고, @Bean을 통해 빈을 등록해준다. @Component를 사용해서 빈에 등록할 수 있다. @Component를 확장받은 어노테이션들이 몇가지 있다. 그 중 Service, Repository가 있다. @Service를 사용하면 Bean 등록이 된다.(아직까지 의존 주입이 되진 않는다.) 등록된 것을 활용해 의존성 주입을 하고 싶다면 @Autowired, @Inject를 사용해서 의존성 주입을 받을 수 있다. <궁금증> 자바에서 해당 클래스 . class는 뭐지?? 그냥 그 객체 만들어서 반환해주는건가?

'개발 > Spring' 카테고리의 다른 글

[Spring] 인프런 8차 Event  (0) 2020.12.25
[Spring] 인프런 3차 강의  (0) 2020.12.24
IoC 컨테이너란?  (0) 2020.12.23
의존성 2 in Spring  (0) 2020.11.03
의존성이란  (0) 2020.11.02