Create new Spring Starter Projects 클릭
New Spring Starter Project 라고 뜸
File New Spring Starter Projects 없으면 other 눌러서 검색 Spring Boot 안에 있는 거 눌러서 만들면 됨
Spring Boot 설정 해두면 됨
Service URL 경로로 구글에 검색하면
스프링 공식 홈페이지
프로젝트 초기 설정해주는 부분
Dependencies
스프링 이용하면서 각종 모듈 설정할 수 있는 부분
ex) lombok 검색하면 자동으로 설정해줌 다운로드 해줌
여러가지 많음
프로젝트 만들 때 모듈들을 다 가져와서 사용할 수 있게끔 자동으로 설정해줌
generate 누르면 창이 하나 열림 zip 파일로 되어있음
sts에서 import 해서 사용하면 됨(사이트에서 만들 때)
sts에서 직접 만들면 import 안해도 바로 package 안에 생성됨
Name 설정해주고 Type (빌드 도구 타입)
빌드 도구 : 소스코드 컴파일하고 패키징하는 거 빌드
그걸 쉽게 사용할 수 있도록 해주는 도구
프로젝트 의존성, 라이브러리 관리 테스트 실행 배포 담당해주는 도구들
Spring Legacy 는 Maven 많이 사용
우리는 Spring Boot Gradle-Froovy 사용
패키지 jar 버전 17 언어 java 기본 설정 그대로 놔두면 됨
그룹 바꿔줌
패키지명도 바꿔줌

next 누르고
dependencies 의존성 라이브러리 어떤 거 사용할 건지
3.2.4 버전 기본값으로 돼있음 그냥 두면 됨
library 모듈 추가해주면 됨
지금 추가할 거 (연습용 프로젝트)
Spring Web
Spring Boot DevTools
Spring Configuration Processor
Lombok
Thymeleaf

Spring Boot Version : 3.2.3(버전은 SNAPSHOT을 제외한 최신 버전 선택)

완성형 프로젝트 만들 때 필요한 거
Spring Boot DevTools : Spring Boot 개발성 향상을 위한 도구 모음
(클래스 로딩 문제 진단, 속성 기본값, 자동 재시작, 라이브 리로드, 전역 설정, 원격 애플리케이션)
→ 브라우저에 표시되는 내용의 코드가 변하면 자동으로 애플리케이션을 재시작하여
브라우저 내용을 업데이트
developer 개발 도구
Lombok : DTO(VO) 자동 완성
getter setter toString 기본생성자 매개변수 생성자
slf4j -> log 찍는 용도로 사용함 lombok 에서 지원해줌
Spring Configuration Processor : .properties 또는 .yml 파일 자동 완성 지원
Java Mail Sender : Java로 메일 발송 코드 지원
WebSocket : 전이중 통신 관련 코드 지원(ex : 채팅)
JDBC API : Spring에서 JDBC를 사용 가능하게 하는 라이브러리 모음
MyBatis Framework : Spring에서 MyBatis를 이용하기 위한 라이브러리 모음
Oracle Driver : Oracle DB 연결에 필요한 드라이버 클래스가 포함된 라이브러리
Spring Security : Spring 보완 관련 라이브러리 모음(암호화)
Thymeleaf : View Template Engine으로 클라이어은트 응답 화면을 만들 때 사용하는 탬플릿(Thymeleaf 사용을 공식적으로 권장) (응답페이지)JSP 대신 사용
html
Spring Web : Spring Web Application에 개발에 필요한 라이브러리 모음
next 누르고
Base Url zip 파일 하나 만듦 설정한 내용 토대로
finish 하면 progress 바 열심히 돌아감
No operations to display at this time 뜨면 잘 된거임
@Component
스프링 컨테이너가 보고 bean으로 만들어주는데 이 과정을 ComponentScan이 해줌
프로젝트 만들면 클래스 하나 만들어져있음 main 메서드
그냥 놔두면 됨
src/main/java 에 클래스 만들어서 사용
src/main/resources
tmplates -> JSP webapp 안에 views 에 있던 거 (응답페이지) 여기에 넣어둘 거 .html 여기에 모아둘 거임 jsp 사용 안함
static -> webapp 대신 이미지, js, css 모아둘 거
application.properties -> 프로젝트 이름이 뭔지만 설정돼있음 프로젝트 전반적 설정을 적용하는 곳
properties 한줄 주석은 #
저장할 때 가운데 눌러서 UTF-8 설정
application.properties 오른쪽 마우스 클릭 -> properties -> Other 클릭 -> UTF-8 로 바꿔서 Apply and Close
application.properties
포트 번호 안 써도 설정한 포트쪽으로 이동할 수 있게 설정
포트 번호 바꾸는 설정 여기서 할 수 있음
server.port=80 설정
프로젝트 우클릭 run as -> spring boot app 눌러서 실행 방화벽 다 허용
Tomcat started on port 80 (http) with context path ''
브라우저 들어가서 직접 접속해줘야함

localhost만 작성하면 됨
메인페이지 안 만들어줘서 whitelabel error page 뜸
8080 붙이면 사이트 연결할 수 없다고 뜸
서버 끌 때는 빨간 버튼
추가적으로 설정할 거 module 추가 dependencies
Spring DevTools 추가했었음
Spring DevTools (자동 reload, server 재시작) 설정
spring.devtools.livereload.enabled=true
spring.devtools.restart.enabled=true
응답페이지 만들 때 캐싱 안하겠다는 설정
spring.thymeleaf.cache=false
build.gradle
빌드 도구로 gradle 사용
프로젝트 관리할 때 사용하는 파일
build.gradle
dependencies 부분 바꿔줄 거 프로젝트 만들었을 때 아무것도 체크 안하면 안이 비어있음
그래서 사용해야하는 라이브러리, 모듈 있으면 여기에 추가해주면 됨

이 추가는 https://mvnrepository.com/
여기에서 필요한 거 검색해서
// https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc11
implementation group: 'com.oracle.database.jdbc', name: 'ojdbc11', version: '23.3.0.23.09'
gradle 복사
프로젝트 우클릭 gradle -> refresh gradle project
Project and External Dependencies 에 들어가져있음
지울 때도 써둔 거 지우고 refresh gradle project
build.gradle 주석은 //
Project 클릭 -> Build Automatically 체크
처음 프로젝트 생성하고 우클릭 Properties -> Text file encoding Other 클릭 UTF-8 선택 -> Apply and Close
(설정할 때 서버 끄고 설정)