1) SpringBoot
1-1) 개발 환경 설치
1-2) 새 프로젝트 생성
1) SpringBoot
1-1) 개발 환경 설치
* 선수지식
- Java
- MySQL
- HTML
- CSS
- JavaScript
- JQuery
* STS 설치 전 환경
- JDK17
- MySQL8
- DBeaver(또는 기타 DB Tool)
- Chrome
* STS 설치
- https://spring.io/tools 접속
- Window용 STS Download
- 다운받은 "spring-tool-suite-4-4.23.1.RELEASE-e4.32.0-win32.win32.x86_64.self-extracting.jar" 파일을 C:\Java 폴더로 이동
* jar 압축 해제 후 실행
- 다운로드한 Jar 파일 실행
- 압축이 풀리면 sts-4.17.0.RELEASE 폴더 아래의 SpringToolSuite4.exe 파일 실행
- 더블클릭으로 실행 안되는 경우 명령창에서 다음 명령 실행 c:\Java>spring-tool-suite-4-4.23.1.RELEASE-e4.32.0-win32.win32.x86_64.self-extracting.jar
- C:\Java\sts-4.20.0.RELEASE\SpringToolSuite4.exe 파일 실행
- 설치 전 컴퓨터 이름, 사용자명에 한글 포함되지 않게 확인
- STS 압축 해제할 경로도 너무 길거나 한글, 특수문자 포함되지 않게 확인
* Workspace 생성
- C:\Java\workspace 폴더 생성
- STS 실행 시 다음 화면에서 위의 workspace 폴더 지정하고 “Launch” 버튼 클릭
* 확장 프로그램 설치
- [Help] – “Eclipse Marketplace 선택
- Find : “Eclipse Web Developer Tools” 검색하여 “install”
- 설치 후 “Restart Now” 클릭하여 재실행
* STS 환경 설정
- [Window] – Preference 메뉴에서 다음 내용을 설정
- Java – Installed JREs – Add - 설치한 JDK 경로 선택 (예: C:\Program Files\Java\jdk-17 )
- Java – Compiler – Version을 17로 선택
- General – Colors and Fonts – Basic – Text Font – Edit – 글꼴 선택
- “encoding” 검색하여 Workspace, CSS, HTML, XML 등을 “UTF-8”로 지정
* Lombok 설치
1-2) 새 프로젝트 생성
* Spring Boot 프로젝트 생성
- [File]-New – Spring Start Project 선택하고 다음과 같이 입력
- Domain이 "softsociety.net"이고 프로젝트 명이 spring1인 경우
- “Next” 버튼 클릭
* Dependency 추가
* application.properties
- #접속 포트번호
- server.port=8888
- #Context Path
- server.servlet.context-path=/
- #Logback 사용. 전체를 대상으로 로깅 레벨 지정
- #단계 : error>3warn>info>debug>trace
- logging.level.root=info
- #특정 패키지를 대상으로 로깅 레벨 지정
- logging.level.net.datasa.test1=debug
* build.gradle
브라우저와 같은 Client의 페이지 요청이 발생하면 Spring Boot는 가장 먼저 Controller에 등록된 URL 매핑을 찾고,
해당 URL 매핑을 발견하면 URL 매핑과 연결된 메서드를 실행한다!
Controller를 작성하여 URL 매핑 추가하기
* IndexController
IndexController.java : [test1] - [src/main/java] - [net.datasa.test1] 안에 있음!
package net.datasa.test1;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
// @Controller : 해당 annotation을 적용한 class는 Spring Boot의 Controller가 된다!
@Controller
public class IndexController {
// @GetMapping : 해당 annotation은 요청된 URL({"", "/"})과의 매핑을 담당한다!
@GetMapping({"", "/"})
public String index() {
return "index";
}
}
정리 : Spring Boot는 웹 브라우저로부터 "http://localhost:8080" or "http://localhost:8080/" 요청이 발생하면
URL( "", "/" )과 매핑되는 index 메서드를 통해 "index"라는 이름의 template 파일을 찾아
index.html의 내용을 실행시킴!
- 이유 : "@ResponseBody" annotation을 생략한다면 Spring Boot는 "index"라는 문자열을 리턴하는 대신
index라는 이름의 템플릿 파일을 찾게되기 때문이다!
* index
index.html : [test1] - [src/main/resources] - [templates] 안에 있음!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test1</title>
</head>
<body>
<h1>안녕하세요. asdf~~!</h1>
</body>
</html>
* 프로젝트 실행
- Boot Dashboard 뷰에서 프로젝트 선택
- “start” 버튼 또는 프로젝트명 우클릭 후 Start 명령
* 웹 브라우저에서 보기
- 웹 브라우저에 다음 URL을 입력하여 접속 => http://localhost:8888/
+) 링크 참조
https://projectlombok.org/download
'SpringBoot' 카테고리의 다른 글
SpringBoot(6) - 계산기 예제(Version 2개), Session (0) | 2024.06.27 |
---|---|
SpringBoot(5) - Web Page 예제2 추가 수정, 추가 정리 사항 (0) | 2024.06.26 |
SpringBoot(4) - Web Page 예제2, 추가 정리 사항 (0) | 2024.06.26 |
SpringBoot(3) - 간단한 Web Page 예제, 추가 정리 사항 (0) | 2024.06.24 |
SpringBoot(2) - 새 프로젝트 생성(복습), 실습, 추가 정리 (0) | 2024.06.21 |