스프링 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 |