[Spring Boot] 1. 프로젝트 환경설정

smjan27·2021년 5월 11일
0

Spring Boot

목록 보기
1/9

강의: [인프런] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

목차


스프링이란?

the source for modern java

  • 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크
  • 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공
  • 스프링 부트: 단독 실행이 가능한 상용화 수준의 스프링 기반의 애플리케이션을 쉽게 만들 수 있도록 함

Spring과 Spring Boot의 차이점🦊

  • 스프링: 길다 / 모든 의존성(dependency)를 버전까지 정확하게 한땀한땀
  • 스프링 부트: 짧아졌다! / 버전 관리를 권장 버전으로 자동 설정

스프링 부트의 장점

  • 간편한 설정
  • Tomcat, Jetty 등 내장된 웹 서버를 사용하기 때문에 서버 구동 시간이 절반 가까이 단축됨
  • 내장 서블릿 컨테이너 덕분에 jar 파일로 간단 배포
  • 배포된 단독 파일만으로 애플리케이션 실행 가능
  • starter(특정 목적을 위한 라이브러리 의존성 그룹) 제공
    • 필요한 모든 라이브러리의 의존성을 일일히 찾아볼 필요 없음
    • 빌드(maven/gradle) 구성 코드 간소화
    • 라이브러리의 의존성 버전을 권장 버전으로 자동 설정
    • 버전 충돌 문제를 피할 수 있고, 의존성을 설정하기 쉬워짐
  • 상태 점검 기능(Spring Boot Actuator) 제공
  • XML 설정 코드를 생성하거나 요구하지 않음

프로젝트 생성

사전 준비

  • Java 11 설치 -> 11 버전으로 변경
  • IntelliJ 설치
  • IntelliJ 설치법 1, 2

스프링 부트 스타터 사이트에서 스프링 프로젝트 생성

프로젝트 선택

  • Project: Gradle Project
  • Language: Java
  • Spring Boot: 2.4.4(정식 발매 버전 중 최신 <-> SNAPSHOT: 정식 발매 버전 아님)
  • Packaging: Jar
  • Java: 11

Project Metadata

  • groupid: hello
  • artifactid: hello-spring

Dependencies: Spring Web, Thymeleaf

=> Generate를 눌러 zip 파일 저장하고 압축 풀기

spring 프로젝트 열기
IntelliJ IDEA 열기 - Open - build.gradle 선택 - Open as Project

  • src
    • main: 실제 코드
    • test: 테스트 코드
    • build.gradle: 버전, 라이브러리 설정

실행하기
src/main/java/hello.hellospring 폴더에서 HelloSpringApplicaion.java 실행
기본 메인 메소드 실행: 왼쪽 초록색 화살표 - Run 'HelloSpringApplicaion' 선택
주소창에 localhost:8080 입력

위의 페이지가 나오면 성공

File-Settings-Gradle-Build and run using과 Build tests using을 'IntelliJ IDEA'로 변경

라이브러리 살펴보기

스프링 부트 라이브러리

  • spring-boot-starter-web
    • spring-boot-starter-tomcat: 톰캣 (웹서버)
    • spring-webmvc: 스프링 웹 MVC
  • spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)
  • spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
    • spring-boot
      • spring-core
    • spring-boot-starter-logging
      • logback, slf4j

테스트 라이브러리

  • spring-boot-starter-test
    • junit: 테스트 프레임워크
    • mockito: 목 라이브러리
    • assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
    • spring-test: 스프링 통합 테스트 지원

View 환경설정

  • Welcome Page 만들기

    • resources/static 폴더에 index.html 작성하면 스프링 부트에서 Welcome Page를 제공함
  • thymeleaf 템플릿 엔진

    • java 폴더에 controller 폴더 생성하고 HelloController 클래스 파일 생성
    • resources/templates 폴더에 hello.html 생성
  • 참고 사이트

  • 스프링 동작 환경
    - 컨트롤러에서 리턴 값으로 문자를 반환하면 viewResolver가 화면을 찾아서 처리
    - 스프링 부트 템플릿엔진 기본 viewName 매핑
    - resources:templates/ + {ViewName} + .html

빌드하고 실행하기

  • 콘솔로 이동 → 명령 프롬프트로 이동
  • ./gradlewgradlew.bat 실행
  • 명령 프롬프트에서 gradlew.bat를 실행하려면 gradlew 입력 후 엔터
  • 폴더 목록 확인: lsdir

Tomcat 서버 설정하는 법

profile
No Stress🎈 Be Happy✨

0개의 댓글