Spring 이란

정태경·2022년 7월 17일
0

Spring 다뤄보기

목록 보기
1/4
post-thumbnail

Spring 이란

Spring은 Java/Kotlin 기반의 웹 프레임워크이다. 현재 자바 진영에서 가장 널리 사용되고 보편화된 기술이라고 볼 수 있다. 스프링은 아래와 같은 구조로 되어 있다.

Spring의 특징

Spring의 가장 큰 특징은 IOC와 DI가 있다. IOC란 Inversion Of Control의 약자이고 제어의 역전이라고 한다. 그리고 DI란 Dependency Injection의 약자이고 의존성 주입이라고 한다.

IOC (Inversion Of Control)

일반적으로 자바 프로그램에서는 각 객체가 프로그램의 흐름을 결정한다. 객체를 생성하고 메소드를 호출하는 것이 이에 해당한다고 볼 수 있다. 하지만 IOC가 적용된 경우 객체 생성을 특별한 관리 위임 주체에 맡기게 된다. 사용자는 객체를 직접 생성하지 않고 객체의 생명 주기를 컨트롤하는 주체는 다른 주체가 된다. 다시 말해 사용자의 제어권을 다른 주체에게 넘기는 것을 IOC(제어의 역전)이라고 한다.

Spring의 IOC란 스프링에 제어를 위임하여 스프링이 만든 객체를 주입하고, 의존성 객체의 메소드를 호출하는 구조이다. 스프링에서는 모든 의존성 객체를 스프링이 실행될 때 만들어주고 주입해준다.

DI (Dependency Injection)

특정 객체(A)를 사용하는 주체(B)가 객체(A)를 직접 생성하는 것이 아니고, 객체를 Spring에서 생성해서 사용하려는 주체(B)에 주입해주는 방식이다. 사용하려는 주체(B)가 특정 객체(A)를 직접 생성하는 경우 의존성이 높아지는데, 외부(Spring)에서 직접 생성하여 관리하는 경우 A와 B의 의존성이 줄어들게 된다.

Spring Boot로 Spring 셋팅

Spring Boot은 Spring을 더욱 쉽게 이용할 수 있게 도와주는 수단이다. Spring을 이용해서 개발하려 할 때 이것저것 세팅해주어야 하는데 Spring Boot은 이를 도와 프로젝트 설정을 간단하게 해결해준다. 아래 링크에서 Project, Language, Dependencies 등을 세팅해주면 zip 파일을 다운 받을 수 있다.

https://start.spring.io/

profile
現 두나무 업비트 QA 엔지니어, 前 마이리얼트립 TQA 엔지니어

0개의 댓글