본문 바로가기
  • 실행력이 모든걸 결정한다
Spring Series/Spring Boot

[Spring Boot] Spring vs Spring Boot / 개발 환경 설정

by 김코더 김주역 2021. 7. 14.
반응형

※ 이 블로그의 Spring Boot 포스팅에서는 gradle 프로젝트를 사용합니다

 

1. Spring vs Spring Boot

Spring의 주된 특징으로는 IOC(제어의 역전), DI(의존성 주입), AOP(관점 지향 프로그래밍)이 있으며, 이러한 느슨한 결합 방식 덕에 편리한 유지보수 환경을 자랑한다.

 

그렇다면 Spring Boot는 Spring에 비해 어떻게 달라졌을까?

공식 사이트에서는 Spring Boot에 대해 이렇게 말한다.

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".

"단지 실행만 하면 되는 자립형 생산 등급의 Spring 기반 어플리케이션을 쉽게 만들 수 있다."

 

 

Spring Boot는 기존 Spring에서 개발자의 프로젝트 설정 시간이 길었던 문제점을 해결해준다. 그렇다면 구체적으로는 어떻게 편리한 것일까?

 

  • 짧고 간결해진 설정 : 다양한 미리 패키징된 spring-boot-starter 옵션들을 Dependency에 설정할 수 있고, 더 편리한 어노테이션들을 제공
  • 편리한 의존성 관리
  • 라이브러리 버전 자동 설정(*)
  • 내장형 Tomcat 제공 : 독립적으로 실행 가능한 jar을 이용한 간단한 배포가 가능
  • 다른 스프링 프레임워크 요소들을 쉽게 사용 가능 : 예) Spring Security, JPA 등

(*) Maven의 경우에는 spring-boot-starter-parent POM 내부의 spring-boot-dependencies POM에 설정된 버전에 맞게 자동 적용됨

 

 

 

2. Spring Boot 개발 환경 설정

1) JDK 설치, 환경 변수 세팅

아래 포스팅에 모두 정리해놓았다.

https://kimcoder.tistory.com/178

 

[JAVA 간단정리 1] 설치, 환경 변수 세팅

언어를 배워도 그 언어를 오랫동안 쓰지 않으면 똥된다는 말이 있다. 본인은 2년전에 자바를 배웠었지만 프로젝트 이후로 잘 쓴적이 없어서, 속독으로 다시 한번 복습하기로 했다. 이 JAVA 카테고

kimcoder.tistory.com

 

 

2) IDE(통합 개발 환경) 설치 - IntelliJ

아래 링크에서 쉽게 다운로드를 진행할 수 있다.

https://www.jetbrains.com/ko-kr/idea/download/#section=windows

 

다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE

 

www.jetbrains.com

 

옵션을 다음과 같이 설정하면 원하는 프로젝트를 통째로 불러올 수 있고, 환경 변수에 경로가 자동으로 추가된다.

Create Desktop Shortcut, Create Associations는 각자의 환경과 목적에 맞게 체크하면 된다.

 

 

3) 프로젝트 생성

먼저, 아래 링크에 접속하자.

https://start.spring.io/

 

좌측에 있는 프로젝트 설정 부분이다.

 

나머지 설정 요소들은 Spring 프로젝트를 만들어 봤다면 어느정도 익숙하겠지만, Maven Project와 Gradle Project의 차이는 잘 모르고 있는 경우가 많을 것같다.

 

  • Gralde은 Maven에 비해 빌드 속도가 빠르다.
  • 멀티 프로젝트상에서 Maven은 공통 설정을 추상 프로젝트에 넣고 그걸 상속하게 하는 방식을 이용하기 때문에 설정이 길어지고 중복이 많이 발생하는 반면, Gradle은 특정 설정이 필요한 프로젝트에만 주입해주는 방식을 이용하기 때문에 프로젝트별로 약간 다른 설정도 가능하다.
  • Maven은 프로젝트 설정 정보를 xml 형식으로 길게 나열해서 작성하는 반면, Gradle은 Groovy 언어를 사용한 도메인 특화 언어를 사용하기 때문에 코드가 간결한 편이다.

 

그리고, 다음은 Dependency 추가 부분이다.

ADD DEPENDENCIES...에서 필요한 라이브러리를 미리 적용할 수 있으며, 각 라이브러리의 설명까지 제공된다.

 

추가한 라이브러리들은 새 프로젝트 빌드 완료 후에 build.gradle 파일의 dependencies에서 확인할 수 있는데, 만약 프로젝트 중간에 추가해야 할 라이브러리가 생겼다면 dependencies에 추가하면 된다.

 

아래 포스팅에서는 dependencies에 추가할 코드를 검색할 수 있는 사이트를 소개한다. 라이브러리 추가에 매우 큰 도움이 될 것이다.

https://kimcoder.tistory.com/243?category=879351 

 

Spring 라이브러리 버전 정보 사이트

이번 포스팅에서는 Spring 라이브러리들의 버전 정보를 확인할 수 있는 사이트를 소개한다. mvnrepository.com/ Maven Repository: Search/Browse/Explore Dekorate :: Annotations :: Options Last Release on Ja..

kimcoder.tistory.com

 

여기까지 마쳤다면 start.spring.io 페이지 하단에 있는 GENERATE을 눌러 프로젝트를 ZIP 파일로 다운받고, 압축까지 풀어주자.

 

그 다음에 IDE로 들어가서 Open을 누르고, 압축을 풀어 얻은 새 프로젝트를 선택한다.

 

그러면 빌드가 자동으로 진행되고, 잠시 후 BUILD SUCCESSFUL가 출력되면 빌드가 모두 끝난 것이다.

 

다음 포스팅에서는 이 Spring Boot 프로젝트의 MVC 구조에 대해 설명하는 시간을 가질 것이다.

 

 

▣ Maven, Gradle 비교 출처 - Maven을 넘어 Gradle로 가자 : http://egloos.zum.com/kwon37xi/v/4747016

 

반응형

댓글