본문 바로가기

Java

[Spring] 설치 및 프로젝트 생성(Gradle)

반응형

Gradle이란 무엇일까 ?

 지난 번 포스팅에 있던 Maven과는 다른 빌드 관리 툴이다.

 

그렇다면 둘의 차이는 ?

  • Maven

- Maven은 Java용 프로젝트 관리도구로 Apache의 Ant대안으로 만들어졌다.

- 빌드 중인 프로젝트, 빌드 순서, 다양한 외부 라이브러리 종속성 관계를 pom.xml파일에 명시하여 사용한다.

- Maven은 외부 저장소에서 필요한 라이브러리와 플러그인들을 다운로드 하고 난 후, 로컬시스템의 캐시에 저장한다.

(이전 포스팅에 필요한 라이브러리를 찾는 사이트와 방법이 있습니당)

 

  • Gradle

- Apache Maven과 Apache Ant의 대안으로 나온 프로젝트 빌드 관리 툴로 오픈소스다.

- Groovy 언어를 사용한 Domain-specific-language를 사용한다.

- 설정파일로 .xml파일을 사용하는 Maven보다 코드가 간결하다.

- 멀티 프로젝트에 사용하기에 좋다.

- Apache lvy에 기반하여 강력한 의존성 관리를 지닌다.

- 원격저장소나 pom, ivy 파일 없이 연결되는 의존성 관리 지원

 

 


 

Gradle이 시기적으로 Maven보다 늦게 나온 만큼 비교적 뛰어난 스펙을 가지고 있다.

 

1. Build라는 동적인 요소를 xml파일로 정의하기에는 어려운 부분이 많다.

  • 설정내용이 길어지고 가독성이 떨어진다.
  • 의존관계가 복잡한 프로젝트를 설정하기에 부적절하다.
  • 상속구조를 이용한 멀티 모듈을 구현함.
  • 특정 설정을 소수의 모듈에서 공유하기 위해서는 부모 프로젝트를 생성하여 상속하게 해야한다.

2. Gradle은 Groovy를 사용하기 때문에 Groovy스크립트로 플러그인을 호출하거나 직접 코드를 짜면 된다.

  • Configuration Injection 방식을 사용하여 공통 모듈을 상속해서 사용하는 단점을 커버했다.

 

출처 : egloos.zum.com/kwon37xi/v/4747016

 


나는 두개다 써 보았는데 매우 간단하게 말하면

Gradle이 Maven보다 버전관리가 쉽고 라이브러리를 불러오는데 힘이 덜 간다! 한마디로 더 쉽다!

그러니 본격적으로 해보자 ㄱㄱ띵

 

 

 


 준비물! 

java 11, IntelliJ

(Eclipse도 가능합니다)

 

1. start.spring.io/ 사이트에 접속하여 아래와 같이 세팅(2021.03.06기준)

우측 상단에 'ADD DEPENDENCIES를 눌러 spring web과 Thymleaf(template engines)을 추가해준후

하단에 generate를 클릭하면 압축파일이 생성된다.

 

2. 압출을 풀고 intelliJ에서 open file로 폴더를 열어준다.

 

아래와 같이 build.gradle에 들어가보면 설정했던 버전 및 dependencies에 추가했던 것들이 있는것을 볼 수 있따.

plugins {
	id 'org.springframework.boot' version '2.4.3'
	id 'io.spring.dependency-management' version '1.0.11.RELEASE'
	id 'java'
}

group = 'com.hyuk'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
	useJUnitPlatform()
}

 

3. 실행

 

src>main>java>com.hyuk.hyuktistory(설정한 'group'이름+'artifact'이름)>HyukTistoryApplication.java파일에 들어간다.

 

package com.hyuk.hyuktistory;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HyukTistoryApplication {

	public static void main(String[] args) {
		SpringApplication.run(HyukTistoryApplication.class, args);
	}

}

 

9번째 줄 왼쪽에 실행 버튼이 있는데 누르고 실행시켜준다.

 

그러면 밑에 터미널창에

이런 화면이 나오는데 보면 8080포트로 시작했다고 나와있다.

그러면 인터넷에 접속하여 http://localhost:8080/로 들어가면

 

이런 화면이 나오면 정상적으로 작동하는 것이다.

 

 

 

 

 


봐주셔서 감사합니다. 좋은 하루 되세요 ~ 모두들 열코~

반응형