Domain/Spring 24 [Spring] 제어의 역전(IoC / Inversion of Control)과 의존성 주입(DI / Dependency Injection) 제어의 역전(Inversion of Control)과 의존성 주입(Dependency Injection)은 스프링이 가장 기본이 되는 기술이자 스프링의 핵심 개발 원칙이기도 합니다. 의존성 주입(Dependency Injection) 의존성이란 대표적으로 new 키워드를 통해 객체를 참조하거나, 다른 클래스 타입의 리턴값을 가지거나, 클래스의 상속, 인터페이스의 구현이 있습니다. 일반적으로는 의존성에 대한 제어권을 개발자 직접 만들게 됩니다. 하나의 객체가 다른 객체의 의존성을 제공하는 기술을 의존성 주입(Dependency Injection)이라고 합니다. class User { private Champion champion; User(Champion champion) { this.champion = .. Domain/Spring 2021. 7. 14. [Spring] 컨테이너( Container / IoC Container / BeanFactory / ApplicationContext ) Container는 Spring의 핵심입니다. Container는 개발자를 대신하여, Bean의 생명주기를 담당합니다. Container가 Bean을 관리해주기 때문에, 개발자는 모듈 간에 의존 및 결합으로 인해 발생하는 문제로부터 자유로워 졌습니다. 이렇게 개발자가 할 일을 Container가 대신해주는 것을 IoC(Inversion of Control)이라고 합니다. Container는 스프링의 핵심인 IoC가 가능하도록 해주는 역할을 합니다. Container는 필요로 하는 자원을 런타임에 전달하는데, 이것을 Dependency Injection이라고 부릅니다. IoC와 DI는 Spring에서 핵심적인 부분이기 때문에 이러한 부분을 자동으로 관리해주는 Container 또한 Spring에서 핵심적인.. Domain/Spring 2021. 7. 13. [Spring] POJO ( Spring POJO / Spring Triangle / Plain Old Java Object ) 스프링 핵심 개발자들은 “스프링의 정수는 엔터프라이즈 서비스 기능을 POJO에 제공하는 것”이라고 했습니다. 분리됐지만 반드시 필요한 엔터프라이즈 서비스 기술을 POJO 방식으로 개발된 애플리케이션 핵심 로직을 담은 코드에 제공한다’는 것이 스프링의 가장 강력한 특징과 목표입니다. 스프링 애플리케이션은 POJO를 이용해서 만든 애플리케이션 코드와, POJO가 어떻게 관계를 맺고 동작하는지를 정의해놓은 설계정보로 구분됩니다. 스프링의 주요 기술인 IoC/DI. AOP와 PSA는 애플리케이션을 POJO로 개발할 수 있게 해주는 가능기술이 라고 불립니다. POJO란? POJO는 Plain Old Java Ojbect를 의미합니다. POJO는 자바의 단순한 오브젝트라고 할 수 있습니다. 진정한 POJO의 의미는.. Domain/Spring 2021. 7. 13. [Spring] 스프링이란? (Spring / Spring Boot / Spring Framework ) 스프링에 대해 가장 잘 알려진 정의는 '자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크'입니다. 애플리케이션 프레임워크는 특정 계층이나, 기술, 업무 분야에 국한되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크를 말합니다. 애플리케이션 프레임워크는 애플리케이션 개발의 전 과정을 빠르고 편리하며 효율적으로 진행하는 데 일차적인 목표를 두는 프레임워크입니다. 엔터프라이즈 개발을 편하게 하려는 이유는 원래 엔터프라이즈 개발이란 편하지 않기 때문입니다. 자바 엔터프라이즈 시스템 개발이 어려운(편하지 않은) 가장 큰 이유는 근본적인 비즈니스 로직과 엔터프라이즈 기술이라는 두 가지 복잡함이 얽혀 있기 때문입니다. 침투적 vs 비침투적 침투적인(invasive) 기술 : .. Domain/Spring 2021. 7. 13. 이전 1 2 3 다음