프로젝트 생성
환경
Java 17, InteliJ
스프링 부트 스타터
현재 대부분의 스프링 프로젝트는 스프링 부트 스타터를 이용하여 프로젝트를 생성한다.
Project
메이븐과 그레이들은 필요한 라이브러리를 땡겨서 오고 관리해주는 것으로, 요즘에는 그레이들로 넘어오는 추세이다.
Spring Boot
버전을 선택할 수 있다. 3.4.3을 기준으로 프로젝트를 생성하였다.
Project Metadata
Group - 기업 명이나 도메인 명을 작성한다.
Artifact - 빌드 된 결과물 (프로젝트 명)
Dependencies
어떤 라이브러리를 가지고와서 사용할지 결정하는 것이다. 웹 프로젝트를 만들 것이기 때문에 아래의 내용들을 가지고 왔다.
- Spring Web
- Thymeleaf
다운로드
GENERATE를 이용하여 다운로드를 받을 수 있다.
다운로드 받은 파일을 압축을 풀어서 원하는 디렉토리로 이동시켜주었다.
인텔리제이
압축을 해제한 파일에서 build.gradle를 선택하여 프로젝트를 열어주었다.
처음 열면, 외부 라이브러리를 많이 다운받기 때문에 로딩에 시간이 조금 걸릴 수 있다.
프로젝트 구조
.idea
인텔리제이가 사용하는 설정 파일
gradle
gradle가 사용하는 폴더
src
src 밑에 main과 test로 나눠져있다.
main 밑에 resources에는 주로 static, template, html, css 과 설정 파일들이 들어 있다.
build.gradle
옛날에는 직접 작성했어야했는데, 현재는 스프링 스타터를 이용하여 쉽게 작성되었다.
지금은 버전 설정 및 라이브러리를 가지고 온다고 생각하고 나중에 깊게 공부하는게 좋다.
settings.gradle
나중에 그레이들을 배우면 알게되는데 현재는 넘어가도록 한다.
프로젝트 실행
src - main - java - hello.hello_spring - HelloSpringApplication 파일을 열어서 이미지 부분의 화살표를 클릭하면 프로젝트가 동작이 된다.
이제 웹 브라우저에 8080포트로 들어가면 아래처럼 에러 페이지가 뜨면 성공이다.
View 환경설정
Wellcome Page 만들기
스프링에서는 src - main - rescources - static 디렉토리 밑에 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>
위의 코드는 정적 페이지이다.
동적 페이지 만들기
페이지를 동적으로 만들기 위해 템플릿 엔진을 사용한다.
thymeleaf 공식 사이트: https://www.thymeleaf.org/
스프링 공식 튜토리얼: https://spring.io/guides/gs/serving-web-content/
스프링부트 메뉴얼: https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/ spring-boot-features.html#boot-features-spring-mvc-template-engines
src - main - java - hello.hellospring 밑에 controller 패키지를 생성하여, HelloController를 생성하였고 아래의 코드를 작성하였다.
package hello.hello_spring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model) {
model.addAttribute("data", "hello!!");
return "hello";
}
}
rescoures - 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>
빌드하고 실행하기
만약 인텔리제이 안에서 프로젝트가 실행중이라면, 반드시 종료해줘야한다.
우선, 터미널을 프로젝트 파일 위치로 이동해준다.
이제 gradlew 파일을 실행 시켜주면 된다.
그럼 build 파일이 생성이 된다. 이제 build/libs로 이동 한후 아래 명령어를 입력해준다.
java -jar .\hello-spring-0.0.1-SNAPSHOT.jar
그럼 앞서 인텔리제이에서 사용했던 것 처럼 localhost/8080 가 연결된것을 확인할 수 있다.
나중에 서버를 실행하게 되면 이 파일을 서버에 넣고 명령어를 입력하면 서버가 연결되는 것이다.
'Spring > 스프링 입문' 카테고리의 다른 글
[Spring] AOP (0) | 2025.03.17 |
---|---|
[Spring] 회원 관리 예제 - 웹 MVC 개발 (0) | 2025.03.17 |
[Spring] 스프링 빈과 의존관계 (0) | 2025.03.17 |
[Spring] 회원 관리 예제 (0) | 2025.03.15 |
[Spring] 스프링 웹 개발 기초 (0) | 2025.03.15 |