TIL(2023.11.8)

JAKE·2023년 11월 8일

TIL

목록 보기
44/48
post-thumbnail

🏃‍♂️What I learned

1. Spring Boot 시작하기

  • STS 4버전
  • 서버가 내장되어 있음 -> main 메서드가 작성된 class를 실행
  • Spring starter로 프로젝트 생성 및 초기 설정 간소화
  • filter의 구조 및 login filter 예시

    설정은 레거시와 동일
    - lombok
    - Refresh using native hooks or polling
    - 폰트, show heap status 등


2. Spring Boot에서 프로젝트 생성하기

  • New -> Spring Boot -> Spring Sterter Project

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

  • New Spring Sterter Progect Dependencies -> 사용할 모듈, 라이브러리 의존성 추가

    초기 선택 dependencies
    - lombok
    - Spring Web : 웹 구축을 위한 스타터, Tomcat을 기본 내장 컨테이너로 사용
    - Spring boot DevTools : application 개발시 유용한 기능 제공
    1) Automatic Restart : claapath에 있는 파일이 변경될 때마다 애플리케이션을 자동으로 재시작
    2) Live Reload : 정적 자원(html, css, js) 수정 시 새로고침 없이 바로 적용
    3) Property Defaults : Thymeleaf는 기본적으로 성능을 향상시키기 위해 캐싱 기능을 사용

    - Thymeleaf : STS4에서 사용하는 템플릿 엔진(STS3은 JSP)


3. Spring Boot 구조 살펴보기

  1. /src/main/java -> 자바 소스코드 저장소
  2. BoardProjectBootApplication.java -> 메인 메서드
  3. /resources/templates/common -> html 저장소 (STS3의 경우 webapp의 views)
  4. /resources/static -> 정적 자원(css,js,이미지) 저장소 (STS3의 경우 webapp의 resources)
  5. /resources/application.properties -> 프로젝트 관련 설정 사항 저장소
  6. /src/main -> jsp 사용이 저장소
  7. build.gradle -> gradle 의존성 주입 (STS3의 경우 pom.xml)

    의존성 주입 후엔 프로젝트 우클릭 -> gradle -> Refresh Gradle Project 해주기(삭제도 마찬가지)

0개의 댓글