스프링 프로젝트 생성 및 라이브러리 간략 소개

김현지·2023년 5월 17일
0

Spring

목록 보기
2/5

Spring vs Spring Boot

  • Spring : 자바 엔터프라이즈 관련 프레임워크 입니다.
    주요 목표 : 의존성 주입, 중복코드 제거(ex.JDBC templet), 타 프레임워크 통합
    -> 개발자는 비즈니스로직 구현에 몰두
  • Spring Boot : Spring을 더 쉽게 쓸 수 있게 돕고, 톰캣 서버까지 내장한 프레임워크 입니다.
    주요 목표 : 의존성 관리, 내장 서버(톰캣)

Spring 프로젝트 생성


강의에서는 start.spring.io에 접속해서 생성했지만,
인터넷이 연결된 상태에서 인텔리제이를 사용한다면 프로젝트 생성 할 때 서버URL에 https://start.spring.io를 입력하면 접속하지 않고 생성이 가능합니다.
그룹은 보통 회사의 도메인을 역순으로 작성합니다.
JDK와 Java는 11버전으로 사용합니다.


SpringBoot을 3.대의 버전을 사용했더니 gradle(build도구 중 하나로서 의존 관계의 라이브러리들을 자동으로 가져오고 빌드하며 라이프사이클을 관리해주는 도구.)과 에러가 발생하여 학습용으로 2.7.11을 사용했습니다.
종속성은 프로젝트를 위한 라이브러리들을 검색해서 추가하는 곳입니다.

  • Lombok :Java 라이브러리로 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리
  • Spring Boot DevTools : 앱 개발 생산성 향상 관련 라이브러리.
    <Spring Boot DevTools 기능>
    Automatic Restart : claapath에 있는 파일이 변경
    될 때마다 앱을 자동으로 재시작합니다.
    Live Reload : 정적 자원(html, css, js) 수정 시
    새로고침 없이 바로 적용합니다.
    * Property Defaults : Thymeleaf는 기본적으로 성능
    향상 위해서 캐싱 기능을 사용한다. 이 경우 수정한 소스가
    제대로 반영되지 않을 수 있으므로 cache의 기본값을
    false로 설정할 수 있습니다.
    프로젝트 생성 시 의존성 추가 후
  1. build.gradle에서 dependencies에
    compileOnly'org.springframework.boot:spring-boot-devtools' 추가
  2. file->setting 혹은 cntl+alt+s로 설정 창 열어서 
    Build, Exeution, Deployment > Compiler 
    > Build project autiomaically 클릭
  3. Advanced Settings > Compiler 
    > Allow auto-make to start even if developed 
    application is currently running 클릭
    이제 Spring boot 프로젝트가 실행 중인 상황에서 코드의 변경이 발생하였을 때 
    자동으로 빌드를 하여 즉각적으로 변경 내용을 확인할 수 있습니다.
  • Thymeleaf : html관련 템플릿 라이브러리
  • Spring Web : 아래와같은 웹 프로젝트 생성에 사실상 필우인 라이브러리. 아래는 Spring Framework Runtime을 설명한 그림이며, 빨간 V표시 된 Web이 Spring Web에 대한 그림입니다.

    <의존성에서 체크하지 않았지만, 기본적으로 설정되는 라이브러리 중 일부 소개>
  • 스프링 부트 라이브러리

    • spring-boot-starter(공통) : springboot + spring core + logging
    • spring-boot-starter-logging
      • logback, slf4j
    • spring-boot-starter-tomcat: 톰캣(내장 웹서버)
    • spring-webmvc : Servlet API 기반,
      클라이언트 요청 처리하는 모듈
  • 테스트 라이브러리

    • spring-boot-starter-test
      • spring-test: 스프링 통합 테스트 지원
        • junit: 테스트 프레임워크
        • mockito: 단위테스트를 효율적으로 하기 위한 프레임워크
        • assertj: 테스트코드를 좀 더 편하게 작성할 수 있게 도와주는 라이브러리

설정을 마치고 프로젝트가 잘 생성됐는지 확인하기 위한 실행 결과입니다. 아래와 같이 1. Spring 글자 확인 후

브라우저에 localhost:8080을 입력하면 원래 아래와 같이 사이트 연결 불가 페이지가 나오는데

아래와 같이 2. Whitelabel Error Page가 발생하였다면 정상적으로 생성된 것 입니다.

0개의 댓글

관련 채용 정보