드디어 끝판왕 spring을 배우기 시작했다!
- Inversion of Control
: 제어의 역행
계층간 의존관계의 결합도를 낮추기 위해 사용한다
계층간 의존관계의 결합도를 낮추기 위해 사용한다
의존관계에서 의존대상을 의존하는 측에서 직접 생성하는 것이 아니라
제어권한을 다른 대상( ex : Spring Container )에게 위임하는 방식
- 객체를 관리하는 컨테이너를 제공
- 컨테이너에 객체를 담아 두고 필요할 때 가져와서 사용
- 컨테이너 역할을 수행하는 인터페이스, BeanFactory와 ApplicationContext
기존의 개발자들이 new 연산자, 인터페이스 호출, 팩토리 호출등으로
ioC컨테이너가 인스턴스의 생명주기를 관리를 생성부터 소멸까지 진행한다
: 의존대상을 검색을 통해 확보 -> 의존대상을 검색을 통해 확보
- 스프링에서 자동으로 해준다
- JNDI : Java Naming and Directory Interface
- 의존관계가 많아 질수록 어플리케이션에 종속된다
( 참고 : IOC 기반이 아닌 경우에는 의존 대상을 직접 생성해 사용)
- DI : Dependency Injection 주입
: 의존관계를 주입을 통해 설정 -> 의존대상을 주입을 통해 확보
- 스프링 IoC 컨테이너 핵심 개념 중 하나
- 다양한 프레임워크에 이미 적용되어 있는 기능
- 객체 간의 의존 관계를 외부의 조립기가 관리
- 불필요한 의존 관계를 없애거나 줄일 수 있음
- 단위테스트 수행 수월
- 설정파일과 애노테이션을 이용하여 객체 간의 의존 관계를 설정
- 각 객체를 빈(bean)으로 관리
( 참고 : IOC 기반이 아닌 경우에는 의존 대상을 직접 생성해 사용)
- Setter Injection
Class 사이의 의존관계를 연결시키기 위해 Setter 메소드를 이용하는 방법.
- Constructor Injection
Class 사이의 의존관계를 연결시키기 위해 생성자를 이용하는 방법.
- Method Injection
Setter Injection과 Constructor Injection이 가지고 있는 한계점을 극복하기 위하여 지원
Singleton 인스턴스와 Non Singleton 인스턴스의 의존관계를 연결할 필요가 있을 때 사용한다.
Singleton 인스턴스와 Non Singleton 인스턴스의 의존관계를 연결할 필요가 있을 때 사용한다.
역시 자바지기 자료가 좋은 것 같다
0 개의 댓글:
댓글 쓰기