[스프링 입문]프로젝트 환경설정

Hyeonjun·2022년 8월 15일
0

스프링입문

목록 보기
1/8
post-thumbnail
post-custom-banner

프로젝트 생성

Spring boot 생성

  1. start.spring.io 접속
  2. Project
    1. Gradle로 만드는 추세. 이왕이면 Gradle로 진행
  3. Language
    1. Java
  4. Spring Boot
    1. 정식 릴리즈 중 가장 높은 버전으로 진행
  5. Project Metadata
    • 회사 도메인 사용
  6. Dependencies
    • Spring Web
    • Thymeleaf

Project Directory Tree

  • src
    • main
      • java
      • resources : 설정파일 등 java 파일을 제외한 파일들
    • test : 테스트 코드와 관련된 소스를 포함함.
  • build.gradle - spring boot가 나오면서 설정파일 등 대부분을 제공해줌.
    • plugins - spring 선택 사항
    • sourceCompatibility - Java 버전
    • repositories - 라이브러리를 vaenCentral() 에서 받아오도록 설정
    • dependencies - 선택한 Dependency 목록
      • TestImplementation으로 JUnit5가 자동으로 들어감.
  • .gitignore - 필요한 소스코드를 설정할 수 있도록
  • gradlew, gradlew.bat : gradle build

Project 실행

  • HelloSpringApplication으로 실행

    @SpringBootApplication
    public class HelloSpringApplication {
    	public static void main(String[] args) {
    		SpringApplication.run(HelloSpringApplication.class, args);
    	}
    }
    • Spring boot 내에 Tomcat 웹서버를 포함하고 있음. 해당 웹서버를 자체적으로 실행하면서 Spring boot를 실행하게 됨.
  • Gradle로 빌드하는 경우

    Setting → “gradle” 검색 → Build > Build Tools > Gradle 에서

    Build and run using, Run tests using 모두 intelliJ IDEA로 수정

    라이브러리 살펴보기

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

Gradle이나 Maven같은 빌드 툴들은 의존관계를 모두 관리해줌.

주요 Dependency

Spring Boot Library

  • spring-boot-starter-web
    • spring-boot-starter-tomcat: 톰캣 (웹서버) - 임베디드 웹 서버
      • Spring boot 내에 웹서버가 있기 때문에 따로 웹서버를 다운받아서 배포할 필요 없음
    • spring-webmvc: 스프링 웹 MVC
    • spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)
    • spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
      • spring-boot
        • spring-core
      • spring-boot-starter-logging
        • logback - 로그 출력
        • slf4j - 인터페이스

Test Library

  • spring-boot-starter-test : 테스트 관련 라이브러리
    • junit-jupiter:5.x : 최근에는 junit5버전 사용
      • Mokito: 목 라이브러리
      • assertj : 테스트코드를 좀 더 편리하게 작성할 수 있도록 도와주는 라이브러리
    • spring-test: 스프링 통합 테스트 지원

스프링부트와 관련한 내용을 포함하여 필요한 라이브러리와 그에 필요한 Dependency를 가져오게 됨.

View 환경설정

Welcome Page 만들기

src > main > resources > static 에 html 파일 저장

Spring boot 에서 Welcome page를 제공하며, index.html 파일을 찾아 띄우게 됨.

Thymeleaf 템플릿 엔진

@GetMapping("hello")
public String hello(Model model){
    model.addAttribute("data", "Hello!");
    return "hello";
}
  1. localhost:8080/hello 요청이 올 때
  2. model에 data: Hello!로 저장하고
  3. templates/hello.html을 열어줌.
  4. hello.html에서는 model 안의 data: Hello!를 찾고 출력하게 됨.

빌드하고 실행하기

빌드하기

콘솔에서,

  1. ./gradlew build
  2. cd build/libs
  3. java -jar hello-spring-0.0.1-SNAPSHOT.jar
  4. 실행 확인
profile
더 나은 성취
post-custom-banner

0개의 댓글