본문 바로가기

Archived(Programming)/Spring #2(기초)

(20)
DI(Dependency Injection) # DI 개념 각 클래스 간의 의존관계를 빈 설정(Bean Definition) 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것을 말함 개발자들은 단지 빈 설정파일에서 의존관계가 필요하다는 정보를 추가하면 됨 객체 레퍼런스를 컨테이너로부터 주입 받아서, 실행 시에 동적으로 의존관계가 생성됨 컨테이너가 흐름의 주체가 되어 애플리케이션 코드에 의존관계를 주입해주는 것 이를 통해 코드가 단순해지며, 컴포넌트 간의 결합도(Coupling)가 제거된다. # DI 유형 # Spring DI 컨테이너 개념 Spring DI 컨테이너가 관리하는 객체를 Bean(빈) 이라고 하고, 이 빈들을 관리한다는 의미로 컨테이너를 빈 팩토리(Bean Factory)라고 부른다. # 실습 1. Service 클래스를 만들어 DAO..
IoC(Inversion of Control) # IoC의 개념 IoC(제어권의 역전)이란, 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 것을 의미한다. 컴포넌트 의존관계 결정(Component dependency resoultion), 설정(Configuration) 및 생명주기(lifecycle)를 해결하기 위한 디자인 패턴(design pattern)이다. # IoC 컨테이너 스프링 프레임워크도 객체에 대한 생성 및 생명주기를 관리할 수 있는 기능을 제공하고 있음. 즉, IoC 컨테이너 기능을 제공한다. 기능 IoC 컨테이너는 객체의 생성을 책임지고 의존성을 관리 POJO의 생성, 초기화, 서비스, 소멸에 대한 권한을 가진다 개발자들이 직접 POJO를 생성할 수 있지만 컨테이너에게 맡긴다 cf. POJO에 대해서는 많..
Spring과 Maven # Maven이란 Spring을 사용하기 위해 Maven Build가 필요함. 그렇다면 Maven이란 무엇인가? > Apache에서 자바용 프로젝트 관리 도구로 출시된 오픈소스 SW이다. 쉽게 말해 여러가지 라이브러리를 pom.xml 파일 하나만으로 네트워크를 거쳐서 자동으로 빌드해주는 관리 도구이다. 규모가 큰 프로젝트일 수록 메이븐의 효율성은 더욱 빛이 발휘된다. 자바 개발의 사실상 표준 빌드 툴(이전에는 ANT라는 수작업이 많이 필요한 툴을 사용함) XML 설정파일을 사용(최근에는 Groovy라는 언어로 설정을 하는 Gradle이 등장) # Convention Over Configuration(CoC) 과거에는 Application은 초기 설정이 매우 중요했었음. 모든 설정(Configuration..
Spring 간략 소개 Spring Framework 란? 경량급 애플리케이션 프레임워크 애플리케이션 프레임워크 > 특정 게층이나 기술, 업무 분야에 국한되지 않고 애플리케이션 전 영역을 포괄하는 범용적인 프레임워크를 말함 경량급 프레임워크 > 단순한 웹 컨테이너에서도 엔터프라이즈 개발의 고급 기술을 대부분 사용할 수 있음 Spring Framework 특징 1) 컨테이너 역할 Java 객체의 Life Cycle을 관리하며, Spring 컨테이너로부터 필요한 객체를 가져와 사용할 수 있다 2) DI(Dependency Injection) 지원 Spring은 설정 파일이나 어노테이션을 통해서 객체 간의 의존관계를 설정할 수 있도록 하고 있다. 3) AOP(Aspect Oriented Programming) 지원 Spring은 트..