티스토리 뷰
Spring-Boot는 Spring 프레임워크를 사용하는 프로젝트를 아주 간편하게 설정할 수 있게 해주는 Spring의 서브 프로젝트 이다.
기존의 STS를 활용한 일반 Spring 프로젝트를 구성할 때는 적지 않은 수의 xml 설정 파일을 건드려야 하고, 그 과정 또한 간단한 편이 아니라서 오타 하나로 프로젝트 하나가 아예 실행이 안되는 경우가 많았다. (디버깅도 핵빡세다..)
하지만 이 Spring-Boot는 반복되는 개발환경 구축을 위한 코드작성등의 노력을 줄여주고 쉽고 빠르게 프로젝트를 설정할 수 있도록 도와준다.
바로 시작해보자.
Spring-Boot Refernence: https://spring.io/projects/spring-boot
우선 Spring-Boot 프로젝트를 생성하기 위해서는 https://start.spring.io/ 에 접속하여 프로젝트를 우선 생성한 다음, 이클립스나 인텔리제이와 같은 IDEA에 임포트 하는 방법이 존재하지만, IDEA내에서 직접 생성할 수도 있다.
바로 생성하는 방법이 아무래도 편하니, 그렇게 진행하도록 하겠다.
요즘 인텔리제이를 사용하는 회사들도 많아진다고 하고, 필자도 인텔리제이를 사용하지 않은지 꽤 됐기 때문에 STS가 아닌 인텔리제이를 사용하여 Spring-Boot 프로젝트를 한번 실습해보려고 한다.
인텔리제이를 설치하는 방법은 정말 잘 설명이 되어 있는 블로그가 있어서 링크를 남겨 놓겠다.
Intellij 설치: https://goddaehee.tistory.com/195
1. 프로젝트 생성
인텔리제이 프로젝트 설정 화면에서 다음과 같이 Spring Initializr 를 클릭하여 생성할 수 있다.
이번에는 Maven Dependency가 아닌 Gradle을 사용하려고 한다.
Spring-Boot가 정말 좋은 점은 Dependency를 귀찮게 적을 필요가 없이, 위 화면에서 체크만 하면 된다는 것이다.
물론, STS에서도 동일하게 Spring-Boot 프로젝트를 생성할 수 있다.
STS)
2. 실행 확인
프로젝트가 생성되었다면, 아래의 경로에 main 메서드를 가지고 있는 프로젝트명Application.java 클래스가 존재한다.
해당 Main 메서드를 실행하여, 프로젝트가 정상적으로 실행이 되는 지 테스트가 가능하다.
만약, 아래 화면처럼 포트 번호가 이클립스나 DBMS로 인해 충돌이 난다면,
다음과 같이 application.properties 파일에 서버 포트 번호를 다른 번호로 지정하여 저장하면 해결할 수 있다.
또한 Terminal 탭에서 netstat -ano 를 입력하여 TCP, UDP 포트 정보를 확인할 수 있다.
위 port 리스트에서 현재 사용중인 port 번호의 task를 taskkill /f /pid "PID번호" 입력하여 kill 할 수 있다.
추가로, Spring-Boot는 테스트를 위한 클래스와 단위 테스트를 위한 메서드를 함께 제공한다.
@Test어노테이션은 각각의 파트에 붙여 단위 테스트를 수행할 수 있게 해주는 어노테이션이다.
3. 간단한 테스트 컨트롤러 생성
테스트를 위해 간단하게 컨트롤러를 하나 생성하여, 요청 사항을 매핑한다.
그리고 나서 ExampleApplication을 run한 뒤, 해당 포트에 요청 사항을 넘기면,
...? 이왜진... 하는 상황이 나온다. Spring-Boot 는 위와 같이 따로 Json 설정을 추가하거나 선언해놓지 않아도 자동으로 지원해주기 때문에 이렇게 좀... 신기할 정도로 간단하게 요청 사항에 따른 응답을 확인할 수 있다.
또한
위와 같이 bootjar 를 run 해서 바로 jar 파일로 빌드도 가능하다.
방대한 양의 XML 설정을 자동화하는 건 정말 좋은데, 이를 자연스럽게 사용하기 위해서는 좀 더 반복, 숙달이 필요할 거 같다. (눈으로 따라갈 수가 없으니...)
'[JAVA] > Spring-Boot' 카테고리의 다른 글
[Spring-Boot] Spring Data JPA 3: @Query (0) | 2021.07.08 |
---|---|
[Spring-Boot] Spring Data JPA 2: 쿼리 메서드 (0) | 2021.07.08 |
[Spring-Boot] Spring Data JPA 1: 시작하기 (0) | 2021.07.07 |
[Spring-Boot] Spring Data JPA 1차 정리(비공개) (0) | 2021.07.07 |
[Spring-Boot] Spring-Boot 프로젝트 Maria DB 사용 (0) | 2021.07.06 |
- redux
- 맛집
- 인천 구월동 이탈리안 맛집
- react
- javascript
- AsyncStorage
- Async
- 인천 구월동 맛집
- await
- 파니노구스토
- react-native
- 정보보안기사 #실기 #정리
- Promise
- redux-thunk
- 이탈리안 레스토랑
- Total
- Today
- Yesterday