개발 이야기/backend

스프링부트 미니 프로젝트 만들기 - Maven, Gradle 두 버전으로 프로젝트 생성

thisisamrd 2023. 10. 9.

서론

처음엔 백을  스프링으로 하려고 하다가 

스프링부트로 프로젝트를 진행해도 문제 되지 않을 거라는 말을 듣고 그렇게 하기로 했다.

 

 

무튼 해당 블로그는 그냥 빈틈이 아주 많을 것으로 예상되는

스프링부트로 프로젝트 만드는 기록이다..

빌드툴은 Maven으로 하려고 하고 프론트는 리액트로 할까 생각중인데

이건 나중에 상황 봐서 마저 정하련다.

 

Maven 이용할 경우

 

1. STS와 Java는 이미 준비되어 있는 상태.

기존에 쓰던 workspace에 spring starter project를 생성함.

 

참고: https://powernote.tistory.com/35

 

[STS] spring boot 프로젝트 생성하기.

spring boot 프로젝트 생성. 기본 환경 ide: sts 4.11.0 spring : spring boot 2.5.3 java : openjdk11 2021.07.26 - [Spring] - java open jdk 설치 2021.07.26 - [Spring] - Spring Tool Suite(STS) 설치 방법 s..

powernote.tistory.com

 

 

 

2. name이랑 package명 수정해주고, 빌드 타입은 아래처럼 세팅

 

 

 

3. dependency 고르는 부분에서는 저렇게 두개를 기본으로 많이 사용하더라

 

 

 

4. finish 누르기

 

 

 

5. 프로젝트 확인 

 

 

 

6. 취향대로 서버 실행해보기.

 

나는 Boot Dashboard에서 아까 만든 프로젝트 우클릭하고 (Re)Start버튼 눌러주었다. 

 

 

7. 이렇게 나오면 성공

 

 

 

8. hello world를 찍기 위해 controller 생성해보기. 

아까 만들어둔 프로젝트 우클릭 후 new -> class 

 

 

9. Controller의 이름 적고 public static void main(String[] args)는 취향껏

 

 

 

10. 방금 만든 컨트롤러에 아래처럼 적고 어노테이션 import시키기(ctrl+shift+O)

package com.example.miniproject;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
	@RequestMapping("/console")
	public static void main(String[] args) {
		System.out.println("helloWorld");
	}

	@RequestMapping("/web")
	public String reHello() {
		return "helloword";
	}

}

 

 

 

11. 저장 후 서버 실행.

http://localhost:8080/console 

http://localhost:8080/web

두개를 웹에 치고 들어가서 서버, web 각각에서 helloworld라는 텍스트가 잘 나오는지 확인해보기.

 

> http://localhost:8080/console 

 

> http://localhost:8080/web

 

이욜~~ 둘 다 잘 나온다!!

 

 

 

 

 

 

Gradle 이용할 경우

.

.

.

 

청천벽력같은 기분을 느꼈다..

.

.

해당 프로젝트의 길잡이가 되어줄 책 <React.js, 스프링 부트, AWS로 배우는 웹 개발 101>에서

Maven이 아니라 Gradle로 빌드를 진행하겠단다.

사실 maven으로 스프링 플젝 만드는게 어렵진 않았으나 

그래도 시작을 야무지게 했든데 gradle 버전의 플젝으로 다시 갈아엎어야 한다니 좀 짜증이 났다.

아 넘넘 짜증나..귀찮아..

 

1분동안 짜증을 냈다....

이제 다시 gradle 버전으로 다시 만들어봐야지.

나는 기존 워크스페이스에 프로젝트를 생성할거라서 spring initializr는 사용하지 않는 버전으로 기록한다.

 

 

 

 

1. 위와 마찬가지로 STS의 package explorer에 가서 new -> spring starter project 선택

 

 

 

2. 아래처럼 세팅. war 말고 jar로 선택. 버전은 8. 나머지는 알아서~

 

 

 

3. 책에서 말하는데로 초기 디펜던시는 이렇게 넣기로 했다.

 

 

 

4. finish 누르기

 

 

5. 서버 잘 동작하는지 확인하기 

 

 

6. 아직 기뻐하지 말고 방금 만든 프로젝트 우클릭 -> build path -> configure build path 선택

 

 

 

7. Libraries - JRE System Library -> Edit 

 

 

 

8. workspace default JRE 선택하고 finish

 

 

9. order and export 탭 가서 이렇게 바꾸고 apply and close 눌러버리기

 

 

10. 위 maven 버전에서 만든 Controller 복사해서 gradle 버전의 프로젝트에 붙여넣기.

package miniproject;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
	@RequestMapping("/console")
	public static void main(String[] args) {
		System.out.println("helloWorld");
	}

	@RequestMapping("/web")
	public String reHello() {
		return "helloword";
	}

}

그냥 똑같이 돌려보는거임..

 

 

11. 저장 후 boot dashboard에서 start버튼 눌러 서버 실행해보기. 

http://localhost:8080/console 

http://localhost:8080/web

두개를 웹에 치고 들어가서 서버, web 각각에서 helloworld라는 텍스트가 잘 나오는지 확인해보자.

난 저기 위에 maven 버전에 쓴거랑 똑같이 나온다~~~~~~~~예~~~~~~~~~~~~~

 

 

 

 

이제 나는 어노테이션 공부하러 갔다와야지..

댓글