05_Spring Starter를 이용한 프로젝트 생성

송지윤·2024년 4월 1일
0

Spring Framework

목록 보기
5/65

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 기본 설정 그대로 놔두면 됨

각 항목별 설명

  • Service URL : 데모 프로젝트를 다운 받을 서비스 경로
    (Spring 공식 페이지의 initiolizr를 통해 설정된 내용대로 데모 프로젝트를 생성해서 받아옴)
  • Name : 프로젝트 이름
  • Type : 빌드 도구(Maven 또는 Gradle)
  • Packaging : 배포 시 압축 형태
  • Java Version : 프로젝트에서 사용할 자바 버전
  • Language : 프로젝트에서 사용할 언어 종류
  • Group : 사용할 그룹(배포시 도메인, 보통 회사명을 작성, 대분류의 개념)
  • Artifact : 만들어진 산출물이름(프로젝트명, 소분류의 개념)
  • Version : 프로젝트 버전
  • Description : 프로젝트 설명(적고싶은 거 작성하면 됨)
  • package : 프로젝트 기본 패키지 3레벨 (Group + Artifact로 작성)
    그룹명이랑 패키지명은 거의 똑같이 씀

그룹 바꿔줌
패키지명도 바꿔줌

next 누르고

프로젝트에서 사용할 모듈, 라이브러리 의존성

dependencies 의존성 라이브러리 어떤 거 사용할 건지
3.2.4 버전 기본값으로 돼있음 그냥 두면 됨
library 모듈 추가해주면 됨

지금 추가할 거 (연습용 프로젝트)
Spring Web
Spring Boot DevTools
Spring Configuration Processor
Lombok
Thymeleaf

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

완성형 프로젝트 만들 때 필요한 거

Selected

  • 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 주석은 //

Server 자동으로 새로고침 안될 때

Project 클릭 -> Build Automatically 체크

application.properties 한글 깨질 때

처음 프로젝트 생성하고 우클릭 Properties -> Text file encoding Other 클릭 UTF-8 선택 -> Apply and Close
(설정할 때 서버 끄고 설정)

0개의 댓글