[IT]/Spring
spring.ioc.기존방식
givemebro
2021. 5. 18. 12:13
반응형
package model;
public class Hammer {
public void work() {
System.out.println("망치 도구로 일하다");
}
}
package model;
public class Spade {
public void work() {
System.out.println("삽 도구로 일하다");
}
}
package test;
import model.Spade;
public class TestUser {
/**
* 기존 제어방식 사용자가 망치를 사용하기 위해 Hammer 객체를 생성해서 work 메서드를 호출 만약 망치에서 삽으로 도구를 변경해 한다면
* new Hammer() 즉 객체 생성하는 부분은 변경이 불가피하다(코드 수정 필요)
*
* 도구(컴포넌트)의 변경이 필요할 때 마다 직접 코드를 수정해야 하므로 도구와 사용자의 관계사엥서 결합도가 높아 유지보수성이 낮다고 볼 수
* 있다
*
* --> Spring IOC를 적용, 결합도를 느슨하게 or 낮게 만들어 유지보수성을 향상시켜 본다
*
* @param args
*/
public static void main(String[] args) {
// Hammer tool = new Hammer();
Spade tool = new Spade();
tool.work();
}
}
Spring.IoC/DI/DL
IOC: Inversion Of Control > 제어의 역전, 제어의 반전, 역제어 > 컴포넌트를 구성하는 인스턴스 생성과 의존 관계 연결처리를 IOC 컨테이너에 위임(IOC는 개념이다) -DI: Dependency Injection 의존성 주입 필..
broscoding.tistory.com
반응형