2016년 10월 24일 월요일

64day / Framework / spring IoC

드디어 끝판왕 spring을 배우기 시작했다!


  • Inversion of Control 

: 제어의 역행
계층간 의존관계의 결합도를 낮추기 위해 사용한다 
의존관계에서 의존대상을 의존하는 측에서 직접 생성하는 것이 아니라 
제어권한을 다른 대상( ex : Spring Container )에게 위임하는 방식 
  1. 객체를 관리하는 컨테이너를 제공
  2. 컨테이너에 객체를 담아 두고 필요할 때 가져와서 사용
  3. 컨테이너 역할을 수행하는 인터페이스, BeanFactory와 ApplicationContext 

기존의 개발자들이 new 연산자, 인터페이스 호출, 팩토리 호출등으로
객체의 인스턴스 생성방법을 제어하는 권한을 가지고 있었으나
ioC컨테이너가 인스턴스의 생명주기를 관리를 생성부터 소멸까지 진행한다

    출처 : 자바지기
  • DL : Dependency Lookup 검색 
: 의존대상을 검색을 통해 확보 -> 의존대상을 검색을 통해 확보 

  1. 스프링에서 자동으로 해준다
  2. JNDI : Java Naming and Directory Interface
  3. 의존관계가 많아 질수록 어플리케이션에 종속된다

( 참고 : IOC 기반이 아닌 경우에는 의존 대상을 직접 생성해 사용)

  • DI : Dependency Injection 주입 
: 의존관계를 주입을 통해 설정 -> 의존대상을 주입을 통해 확보 

  1. 스프링 IoC 컨테이너 핵심 개념 중 하나
  2. 다양한 프레임워크에 이미 적용되어 있는 기능
  3. 객체 간의 의존 관계를 외부의 조립기가 관리
  4. 불필요한 의존 관계를 없애거나 줄일 수 있음
  5. 단위테스트 수행 수월
  6. 설정파일과 애노테이션을 이용하여 객체 간의 의존 관계를 설정
  7. 각 객체를 빈(bean)으로 관리

( 참고 : IOC 기반이 아닌 경우에는 의존 대상을 직접 생성해 사용)

  • Setter Injection
Class 사이의 의존관계를 연결시키기 위해 Setter 메소드를 이용하는 방법.

  • Constructor Injection
Class 사이의 의존관계를 연결시키기 위해 생성자를 이용하는 방법.

  • Method Injection
Setter Injection과 Constructor Injection이 가지고 있는 한계점을 극복하기 위하여 지원
Singleton 인스턴스와 Non Singleton 인스턴스의 의존관계를 연결할 필요가 있을 때 사용한다.

역시 자바지기 자료가 좋은 것 같다

Related Posts:

  • 45day / WEB / model2-product & actionTag & dbcp Action Tag Database Connection Pool model2 상품관리 만들기 JSP Action Tag Servlet의 동작을 제어하기 위해 XML 구문 구조를 사용한다. 동적, Java Beans Component를 재사용하는 파일… Read More
  • 37day / WEB / Model1 Architecture & Cookie & Session cookie  Model1 Architecture & Cookie & Session Session & Cookie Http 는 stateless 한 특성이 있다. (상태유지를 하지 않는다) 사용자 상태를 일정 조건동안 유… Read More
  • 36day / WEB / ServletContextListener http://java.scwcd.jobs4times.com ServletContextListener 웹어플리케이션 시작시점과 종료시점에 특정 작업을 수행할 수 있도록한다 구현방법 ServletContextListener를 implements 한다 Ab… Read More
  • 47day / WEB / EL & JSTL EL (Expression Language) JSTL (JSP Standard Tag Library) EL이란? JSP 2.0에서 새롭게 추가된 스크립트 언어로 JSP에서 기본으로 지원을 한다. <% 출력 내용 %> 로 사용되던 스크립드릿… Read More
  • 35day / WEB / Servlet Life Cycle http://jitendrazaa.com Servlet LifeCycle에 대해서 알아보자! Servlet Life Cycle 서블릿 컨테이너는 스레드와 서블릿 객체를 생성한다 (최초1회) init() 서블릿 컨테이너가 서블릿 생성 후 초기화 … Read More

0 개의 댓글:

댓글 쓰기