이번에 새로운 학교 동아리에 들어가 활동을 시작하였다!
개인적으로 백엔드 관련해서 관심이 있었는데 그와 관련해서 학교 전공 수업이라거나 프로그램들이 없었던 거 같다
멘토링 활동에서 멘토가 적극적으로 추천해주면서 동아리에 참여하게 되었고, 감사하게도 스프링 부트를 학습할 수 있는 기회가 되었다
김영한 선생님의 스프링 부트 입문을 수강하며 필요한 내용을 정리하고자 한다!
필요한 프로그램은 Java JDK와 IntelliJ이다
실행 전, 두 개의 프로그램은 필수로 설치해야 한다
현재 IntelliJ 프로그램을 동작하기 위해서 Java JDK 버전이 최소 11이상이 되어야 한다
View 환경설정
1단계: https://start.spring.io/ 접속
위 홈페이지에 들어가게 되면 다음과 같은 구성이 보일 것이다.
Project와 Language, 그리고 Spring Boot는 화면과 같이 설정해 준다
화면에 보이는 Group은 보통 기업 명을 적는다고 한다
수업에서는 hello로 지정해 주었다
Artifact는 build 했을 때 나오는 결과물 이름인 듯 하다!
수업에서는 hello-spring으로 지정해 주었다!
나머지는 그대로 두었다
중요한 점!: Dependencies의 ADD ... 를 눌러서 두 가지 Tool을 추가해 주어야 한다
1: Spring Web - (웹 프로젝트를 위한 Tool)
2: Thymeleaf - (html을 만들어주는 템플릿 엔진)
스프링 부트를 사용할 때 어떤 라이브러리를 가져와서 사용할 것인지 추가하는 것이라고 한다.
후에 GENERATE를 누르면 다운이 된다.
다음과 같이 압축이 되는데 원하는 폴더에 압축을 해제 한 후 build.gradle 파일을 IntelliJ 프로그램으로 열어준다!
그러면 IntelliJ 프로그램이 실행되며 hello-spring 파일이 열리게 된다
요즘은 기술이 좋아져서 바로 실행만 해줘도 웹이 뜬다고 한다.
오른쪽 상단에 실행 버튼을 눌러서 웹에
localhost:8080
다음 주소를 입력하게 되면
다음 화면이 뜨게 된다!
이는 정상적인 화면이고 이후, 코드로 구현해주면 된다고 한다
좌측에 여러가지 항목들이 있는데
2단계: src -> main -> resources -> static 폴더를 우측 클릭 후 New -> HTML File 클릭 후 index.html 생성
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 버튼을 눌러준다면!
위와 같이 뜰 것이다!
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 입력
위와 같이 입력하게 되면
그 이후에 dir을 하면 build 디렉토리가 생성된 것을 알 수 있다!
3단계: cd build/libs 입력
입력 후 dir을 하게 되면
두 개의 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 환경설정과 빌드하고 실행하는 과정을 겪어보았다
처음 다루어보는 언어와 프로그램으로 생각보다 헤맸던 거 같다..
이제 시작이라고 생각하고 열심히 임하려고 한다!
'Spring Boot(스프링 부트)' 카테고리의 다른 글
자바 기초 문법 및 웹 이해 (10) | 2024.11.05 |
---|---|
Spring Boot(스프링 부트) > 회원 서비스 개발 2 - 전 포스팅에 이어서... (4) | 2024.05.28 |
Spring Boot > 세션과 쿠키 (0) | 2024.05.28 |
Spring Boot(스프링 부트) > 백엔드 개발(회원 관리 예제) (5) | 2024.05.28 |
Spring Boot(스프링 부트) > 스프링 웹 개발(정적 컨텐츠, MVC와 템플릿 엔진, API) (4) | 2024.05.20 |