SPATIUM Desktop
주소복사
About Operating System Languages Tools Favorites Notice Visit TEST  
     Android (3)
     Linux (1)
     MacOS (1)
     OS (1)
     Solaris10 (15)
     Windows (1)
     Windows Server (2)
     Windows XP (3)
   ID  
   Password  
  |  
  Location United States
  IP Address 35.173.48.18
2024. 10
12345
67891011
12
13141516171819
20212223242526
2728293031
Category  Languages, JAVA
Writer 김태우 Date 2019-07-31 11:51:54 Visit 2747

 

DI(Dependency Injection), 의존주입

 

의존관계에 있는 객체를 생성하지 않아도, 그 종속객체를 사용할 수 있는 것

 

의존관계에 있는 객체를 생성하지 않아도, 그 종속객체를 사용할 수 있는 것, 하나의 객체에서 다른 하나의 객체를 사용하는 관계

예를 들어 A 클래스 내에서 B 클래스를 사용한다면, AB는 의존관계에 있다고 할 수 있다. ('AB에 의존', B가 변한다면 A가 변하기 때문)

 

하기 참조 

public class A {
    
    /**
     * new B();와 같이 객체를 생성해주어야 함
     */
    B b = new B();
    
    b.method1();
}

 

스프링에서는 아래와 같이 사용

public class A {

    @Autowired
    B b;

    b.method1();
}

 

 

IoC(Inversion of Control), 제어의 역전

본래 B클래스의 생성자 호출 new B(); 의 제어권한은 B에게 있는데, B의 제어권한을 수동적으로 바꾸어,

프레임워크(컨테이너)에게 그 제어권한을 주는 것, 이렇게 하는 가장 큰 이유는 생성자 호출 뿐만 아니라,

생성된 객체의 생명주기 '전체'에 대한 권한, 관리를 프레임워크(컨테이너)에게 주어 개발자가 비즈니스 로직에만 집중할수 있게

 

 

Tags  DI, IOC, 의존주입, 제어의 역전, Dependency Injection, Inver
  Relation Articles
[Languages-JAVA] (2019-07-31 11:51:54)
[Languages-JAVA] JAVA JDBC/DBCP/JNDI (2018-04-12 16:47:35)
[Languages-Oracle] 비용계산방법 (2015-07-16 17:31:23)
[Languages-WPF] Binding Converter : IValueConverter (2013-08-06 12:16:38)
[Languages-WPF] [WPF] Dispatcher, Invoke (2013-07-30 18:15:21)
[Languages-JavaScript] Add SyntaxHighLighter on CKEditor (2013-03-04 16:58:08)
[Languages-HTML] CSS padding (2012-03-23 17:19:09)
[Languages-HTML] Div 태크 (2011-12-08 13:12:41)
  Your Opinion
Member ID
150 letters
1 (2024-01-27 00:48:37)
agree : 0 disagree : 0
로그인 이후 사용가능합니다
Copyright (C) SPATIUM. All rights reserved.
[SPATIUM]WebMaster Mail