제어의 역전

    이해 안돼서 다시 정리하는 IoC/DI

    IoC(Inversion of Control, 제어의 역전) 프로그래머가 작성한 프로그램이 재사용 라이브러리의 흐름 제어를 받게 되는 소프트웨어 디자인 패턴을 말한다. 전통적인 프로그래밍에서 흐름은 프로그래머가 작성한 프로그램이 외부 라이브러리의 코드를 호출한다. 하지만 IoC가 적용된 구조에서는 외부 라이브러리의 코드가 프로그래머가 작성한 코드를 호출한다. Spring에서 IoC 즉 메소드의 호출, 객체의 생성과 소멸, 의존관계 설정 행위 등을 모두 프레임워크가 대신해 준다. → 주도권이 역전됨 → 제어의 역전 프레임워크가 흐름을 주도하며 개발자가 작성한 코드를 사용한다 기존의 흐름은 개발자가 new를 하여 heap 공간에 올리는 행위를 개발자가 했다면 Spring에서는 오브젝트를 클래스로 모두 만들어..

    Spring Framework 개념 정리

    1. 등장 배경 EJB(Enterprise Java Bean) 엔터프라이즈급 어플리케이션 개발을 단순화하기 위해 발표한 스펙 비즈니스 객체들을 관리하는 컨테이너를 만들어서 필요할 때마다 컨테이너로부터 객체를 받는 식으로 관리하면 효율적이겠다 라는 것에서 탄생 기능은 좋지만 복잡한 스펙으로 개발의 효율성이 떨어지고 EJB를 돌릴 서버가 따로 필요한 단점이 있음 즉 현실에서의 반영이 어려움 POJO(Plain Old Java Object) 특정 프레임워크나 기술에 의존적이지 않은 자바 객체 종속적이지 않기 떄문에 생산성, 이식성 향상 EJB가 제공하는 서비스를 지원해 줄 수 있는 프레임워크가 등장하며 EJB 없이 만들어졌다. 2. Spring Framework 스프링 프레임워크란? 스프링 프레임워크는 자바 ..