스프링의 BeanFactory와 ApplicationContext의 차이
2022. 1. 10. 21:59
Spring
해당 글에서 ApplicationContext는 DI 컨테이너라고 했다. 그렇다면 BeanFactory는 무엇을까? 스프링의 컨테이너의 최상위 인터페이스 보통은 ApplicationContext에서 빈을 조회하는 코드를 작성할 것이다. 그게 가능한 이유는 BeanFactory를 상속 받았기 때문이다. 즉, getBean()과 같은 것은 BeanFactory가 제공해주는 기능인 것이다. 결과 적으로 빈을 조회하고 관리하는 역할이 BeanFactory인 것이다. 그럼 ApplicationContext는 왜 사용하지? 그렇다. 그냥 BeanFactory를 사용하면 되지 왜 ApplicationContext를 사용할까? 복잡하게.. 이유는 부가 기능이 필요하기 때문이다. ApplicationContext의 구조..
스프링의 ApplicationConetxt란??
2022. 1. 10. 21:56
Spring
ApplicationContext란 서론 스프링은 객체지향의 장점을 살리기 위해 EJB시절 로드 존슨이 취미로 만들기 시작하나 3만 줄의 예제 코드부터 시작 되었다. 객체 지향의 장점이란 변화에 대응하기 쉬운 코드를 말한다. 하지만 EJB는 객체지향과는 거리가 멀고 너무 변경에 어려웠다고 하며, 이때 나온 말이 POJO라고 한다. 순수 자바로 돌아가서 객체지향적 개발을 하자는 취지의 용어이다. 본론 ApplicationContext는 스프링의 DI 컨테이너이다. 변경에 용이하기 위해 DI 컨테이너에서 의존 객체를 주입 해주기 위해 여러 객체들을 관리하는 상자라고 생각하면 된다. 인터페이스이다. 순수 자바로 DI 컨테이너와 스프링의 DI 컨테이너 아래는 순수 자바로 DI 컨테이너를 만든 코드이다. 간단한 ..