본문 바로가기

Spring Boot(스프링 부트)

Spring Boot(스프링 부트) > 간단한 View 환경설정과 빌드하고 실행하

이번에 새로운 학교 동아리에 들어가 활동을 시작하였다!

개인적으로 백엔드 관련해서 관심이 있었는데 그와 관련해서 학교 전공 수업이라거나 프로그램들이 없었던 거 같다

멘토링 활동에서 멘토가 적극적으로 추천해주면서 동아리에 참여하게 되었고, 감사하게도 스프링 부트를 학습할 수 있는 기회가 되었다

 

김영한 선생님의 스프링 부트 입문을 수강하며 필요한 내용을 정리하고자 한다!

 

필요한 프로그램은 Java JDK와 IntelliJ이다

실행 전, 두 개의 프로그램은 필수로 설치해야 한다

현재 IntelliJ 프로그램을 동작하기 위해서 Java JDK 버전이 최소 11이상이 되어야 한다

 

View 환경설정
1단계: https://start.spring.io/ 접속

 

위 홈페이지에 들어가게 되면 다음과 같은 구성이 보일 것이다.

 

https://start.sprint.io/ 홈페이지

 

Project와 Language, 그리고 Spring Boot는 화면과 같이 설정해 준다

 

화면에 보이는 Group은 보통 기업 명을 적는다고 한다

수업에서는 hello로 지정해 주었다

 

Artifact는 build 했을 때 나오는 결과물 이름인 듯 하다!

수업에서는 hello-spring으로 지정해 주었다!

 

나머지는 그대로 두었다

중요한 점!: Dependencies의 ADD ... 를 눌러서 두 가지 Tool을 추가해 주어야 한다

1: Spring Web - (웹 프로젝트를 위한 Tool)

2: Thymeleaf - (html을 만들어주는 템플릿 엔진)

 

스프링 부트를 사용할 때 어떤 라이브러리를 가져와서 사용할 것인지 추가하는 것이라고 한다.

 

후에 GENERATE를 누르면 다운이 된다.

 

hello-spring.zip

 

다음과 같이 압축이 되는데 원하는 폴더에 압축을 해제 한 후 build.gradle 파일을 IntelliJ 프로그램으로 열어준다!

 

그러면 IntelliJ 프로그램이 실행되며 hello-spring 파일이 열리게 된다

요즘은 기술이 좋아져서 바로 실행만 해줘도 웹이 뜬다고 한다.
오른쪽 상단에 실행 버튼을 눌러서 웹에
localhost:8080 

다음 주소를 입력하게 되면

localhost:8080

다음 화면이 뜨게 된다!

이는 정상적인 화면이고 이후, 코드로 구현해주면 된다고 한다

 

좌측에 여러가지 항목들이 있는데

2단계: src -> main -> resources -> static 폴더를 우측 클릭 후 New -> HTML File 클릭 후 index.html 생성

웹 View 환경설정 과정..

 

index.html로 생성을 해준 후 다음 코드를 넣어준다.

<!DOCTYPE HTML>
<html>
<head>
   <title>Hello</title>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello
<a href="/hello">hello</a>
</body>
</html>

 

입력 후 build 하여 localhost:8080에 접속하게 되면...

바뀐 웹 화면

다음과 같이 바뀐 것을 볼 수 있다!

 

간단하게 hello 버튼을 눌렀을 때의 화면을 구성하려고 한다.

 

3단계: src -> main -> java -> hello.hellospring에 우측 버튼을 눌러 package를 추가 후 HelloController 생성

패키지 추가

이름은 HelloController

그 하위에 Java Class를 추가하여 HelloContorller의 이름으로 생성한 후 아래의 코드를 수정 · 추가한다

@Controller
public class HelloController {
   @GetMapping("hello")
   public String hello(Model model) {
      model.addAttribute("data", "hello!!");
      return "hello";
   }
}

 

위의 import 문은 자동으로 추가되어 신경을 안써줘도 된다!

만약 빨간 밑줄이 나온다면 맞는 import 문을 추가해주면 된다

hello.html을 매핑하여 "data" 속성을 "hello!!"로 변환해 주는 기능이다.

 

그리고

4단계: src -> main -> java -> resources -> templates에 우측 버튼을 눌러 hello.html을 생성

 

아래 코드를 넣어준다

<!DOCTYPE HTML>
<html xmlns: th="http://www.thymeleaf.org">
<head>
   <title>Hello</title>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
</body>
</html>

입력 후 실행하면 다음과 같은 화면이 뜬다

이 화면 이후에 hello 버튼을 눌러준다면!

localhost:8080/hello

위와 같이 뜰 것이다!

 

index.html에 있는

<a href="/hello">hello</a> 문장으로 주소 이름 뒤에 /hello가 붙은 것이다

한가지 헷갈렸던 점이 있었는데, <p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>

에서 출력은 th:text, 그리고 '안녕하세요. 손님'이 있는데 왜 두 가지가 있을까 였다

해답은 th:text를 우선 출력하고 출력에 실패하면 default 값으로 '안녕하세요. 손님'을 출력하는 것이었다

 

빌드하고 실행하기

 

IntelliJ가 아닌 명령 프롬프트(cmd)에도 실행이 가능하다!

1단계: cd를 이용하여 파일을 저장한 장소로 이동

 

 

2단계: gradlew.bat build 입력

 

위와 같이 입력하게 되면

gradlew.bat build 성공

 

그 이후에 dir을 하면 build 디렉토리가 생성된 것을 알 수 있다!

 

 

3단계: cd build/libs 입력

 

입력 후 dir을 하게 되면

bulid/libs 내부

두 개의 jar 파일이 있다!

아래 파일을 실행하겠다

 

 

4단계: java -jar hello-spring-0.0.1-SNAPSHOT.jar 입력

 

입력을 하게 되면 멋지게

간지나는... 모양

이런 이모티콘이 뜨면서 실행이 되게 된다.

그 이후 localhost:8080에 접속하면 정상 접속되는 것을 알 수 있다!

 

종료하려고 한다면

 

 

5단계: Ctrl+C 입력

 

아무리 엔터를 눌러도 입력창이 안 떴지만.. Ctrl+C를 입력해 주면 다시 입력할 수 있게 된다

 

 

6단계: cd .. -> 2번 입력

 

2번 입력하게 되면 다시 hello-spring 디렉터리로 오게된다

 

 

7단계: gradlew.bat clean OR gradlew.bat clean build 입력

 

gradlew.bat clean: 서버 종료 후 생성했던 build 디렉토리를 삭제한다

 

gradlew.bat clean build: 서버만 종료한다!

 

 

다음처럼 간단하게 View 환경설정과 빌드하고 실행하는 과정을 겪어보았다

처음 다루어보는 언어와 프로그램으로 생각보다 헤맸던 거 같다..

이제 시작이라고 생각하고 열심히 임하려고 한다!