본문 바로가기
Web/Spring

[Spring] 프로젝트 환경설정

by merona99 2022. 10. 24.
반응형

스프링 - 프로젝트 환경설정

참고 강의: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술(김영한,인프런)

 

// 아직 인텔리제이 셋팅이 안되서 내일 라이센스 넣고 셋팅 후 사진 첨부 할 예정

 


 

사전 준비

java 11 버전 설치 : JDK 11.0.17(설치완료)

IDE : IntelliJ or Eclipse (IntelliJ 설치완료)

 

스프링 부트 스타터 사이트 : http://start.spring.io

// 예전에는 직접 코딩을 했지만 요즘은 해당 사이트를 통해서 기본적인 시작 코드를 제공해 줌

 

프로젝트 선택

  • project : gradle project
  • spring boot : 2.3.x
  • language : java
  • packaging : jar
  • java : 11

Project metadata

  • groupId : hello(임의)
  • artifacyId : hello-spring(임의)

Dependencies : Spring Web, Thymeleaf

// 처음에는 시간 소요 많음 -> 툴 다운이 있기 때문

 

[기타 구성 설명]

  • src/main/resources : 설정파일, html 등 java제외 파일 전부
  • src/main/java : 실행파일
  • src/test : 테스트코드

// 요즘은 분리가 표준화 되어있음

  • plugins : 자바 버전, 스프링 버전 명시
  • sourceCompatitbility = '11' : 자바 11버전이라는 뜻
  • gitignore : 깃허브에 올릴 때 필요없는 파일, start.io가 자동으로 추가해줌!(간편)

// 실행완료

 

* preforence -> 검색 gradle -> build and run using : IntelliJ IDEA로 변환

빌드와 실행의 시간이 빨라짐

 


라이브러리 살펴보기

Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 함

 

[스프링 부트 라이브러리]

* intellj 왼쪽 아래 클릭(command 2번) -> 오른쪽 위에 gradle 뜸 -> dependencies : 의존관계 라이브러리 목록 보여줌

  • spring-boot-starter-web
    • spring-boot-starter-tomcat : 톰캣(웹서버) - 자동으로 실행시 8080포트 제공
    • spring-webmvc : 스프링 웹 MVC
  • spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진(View) / html 템플릿 엔진
  • spring-boot-starter(공통) : 스프링 부트 + 스프링 코어 + 로깅
    • spring-boot
      • spring-core
    • spring-boot-starter-logging (아래의 두가지 조합을 많이 씀 - 성능이 빠름)
      • logback : 실제 로그를 어떤 구현체로 출력 할 것인가?
      • slf4j : 인터페이스

[테스트 라이브러리]

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

View 환경설정

스프링 부트가 제공하는 Welcome Page 기능

 

thymeleaf 템플릿 엔진

* thymeleaf 템플릿엔진 동작 확인 : (실행) http://localhost:8080/hello

 

컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버(viewResolver)가 화면을 찾아서 처리함

  • 스프링 부트 템플릿엔진 기본 viewName 매핑
  • resources:templates/ + (ViewName) + '.html'

빌드하고 생성하기

  1. 콘솔로 이동
  2. ./gradlew build
  3. cd build/libs
  4. java -jar hello-spring-0.0.1-SNAPSHOT.jar
  5. 실행확인

* 'Snapshot'을 뜨다의 의미

  • 특정 시점에 스토리지에 저장된 파일의 상태(현재 파일 시스템의 상태)를 저장한다는 의미
  • Spring Boot에서 애플리케이션 생성 시, 개발이 완료된 최종 버전이 아니라, 각 진행 단계별로 개발을 하고 빌드를 할 때, 해당 애플리케이션의 현재 상태가 완료 버전이 아닌, 중간 단계의 버전이라는 의미

 

반응형

'Web > Spring' 카테고리의 다른 글

[Spring] 회원 관리 예제 - 웹 MVC 개발  (0) 2022.11.03
[Spring] 스프링 빈과 의존관계  (0) 2022.11.02
[Spring] 회원 관리 예제 - 백엔드 개발  (0) 2022.10.31
[맥os] 단축키  (0) 2022.10.26
[Spring] 웹 개발 기초  (0) 2022.10.24

댓글