본문 바로가기
DEV/JAVA

스프링부트 사용하기

by 땅콩둘기 2021. 6. 3.
반응형

스프링부트 코딩공작소를 따라하며 정리한 내용입니다!

스프링부트 프로젝트를 만들기 위해서 Spring Initializr 에서 프로젝트관련 정보를 선택해 생성했습니다.

https://start.spring.io/

우측에 ADD DEPENDENCES를 클릭해 필요한 의존성을 선택했습니다.

Spring Web, Thymeleaf, Spring Data JPA, H2 Database를 선택하고 GENERATE를 하면 zip파일로 프로젝트가 생성됩니다.

인텔리제이에서 다운받은 프로젝트를 열어보았습니다.

아래 구조와 같은 것을 볼 수 있습니다.

build.gradle : 그레이들 빌드 명세

gradlew : 그레이들 래퍼, 프로젝트를 설정할 때 java나 gradle을 설치하지 않고 바로 빌드할 수 있게 해주는 역할

ReadingListApplication.java : 애플리케이션의 부트스트랩 클래스이자 주 스프링 구성 클래스

application.properties : 애플리케이션과 스프링 부트 프로퍼티를 구성하는데 사용하는 파일

ReadingListApplicationTests.java : 기본 통합 테스트 클래스



ReadingListApplication.java 클래스는 스프링 구성 클래스이다.

@SpringBootApplication 애너테이션은 스프링 컴포넌트 검색과 스프링 부트 자동 구성을 활성화하고 부트스트랩 클래스로 main() 메서드가 명령줄에서 실행 가능한 JAR 파일로 애플리케이션을 실행 할 수 있게 한다. 

실행하는 방법으로는 gradle로 build하거나 main()메소드를 실행시키는 방법이 있다.

먼저 main()메소드를 Run해보겠습니다.

인텔리제이에서 실행한 결과입니다.

gradle 빌드로도 실행할 수 있습니다.

빌드된 jar파일로 실행하면 아래와 같이 실행됩니다.

localhost:8080으로 접속해보면 아직은 실행할파일이 없어 404오류가 나옵니다.

ReadingApplicationTest는 JUnit테스트를 위한 클래스로 테스트를 위한 코드를 작성할  수 있습니다.

application.properties에서 실행하는 포트를 바꿔서 실행할 수도 있습니다.

실행해보면 

Tomcat intialized with port(s) : 8080(http)를 확인할 수 있습니다.

build.gradle을 살펴보면 버전, 의존성등을 확인할 수 있습니다.

dependencies 테스크로는 프로젝트에서 사용하는 모든 라이브러리와 각 버전을 포함한 의존성 트리를 확인할 수 있습니다.

의존성 오버라이드를 해보기 위해서 먼저 com.fasterxml.jackson.core 의 버전을 확인했습니다. 

현재 버전은 2.11.4 라서 아래 버전으로 변경해보겠습니다.

책에 있는 것처럼 compile을 사용해서 변경하려 했으나 오류가 나서 확인해보니 complie이 사라졌다고 합니다.

https://docs.gradle.org/current/userguide/java_library_plugin.html#sec:java_library_separation

 

The Java Library Plugin

The Java Library plugin expands the capabilities of the Java plugin by providing specific knowledge about Java libraries. In particular, a Java library exposes an API to consumers (i.e., other projects using the Java or the Java Library plugin). All the so

docs.gradle.org

Gradle 7.0에서는 compile과 runtime이 사라지고 implementation과 api 로 사용할수 있다고 합니다.

그래서 implementation으로 변경해서 의존성 오버라이드를 하고 빌드를 해보면 버전이 바뀐것을 확인할 수 있습니다.

 

반응형

'DEV > JAVA' 카테고리의 다른 글

H2 database GenerationType.IDENTITY 오류  (0) 2022.06.21
스프링부트 코딩공작소 - 3장  (2) 2021.06.03
스프링부트 CLI 시작하기  (0) 2021.05.19
JAVA로 하샤드 수 구현하기  (0) 2021.05.01
JAVA로 369게임 만들기  (0) 2021.04.30

댓글