4. 스프링 부트 애플리케이션 개발하기[Spring Boot]

JuJaeng2·2023년 12월 2일

이제부터는 책에서 나오는 실습 내용들을 따라면서 스프링부트에 조금 더 익숙해 지고 이해해 나가면서 초심자로서 갖춰야 할 역량을 쌓아 나가 보도록 하겠다.

✅ 프로젝트 생성

프로젝트 생성 방법

  1. IntelliJ IDEA를 사용한 프로젝트 생성
  2. Spring Initializer를 사용한 프로젝트 생성

두 방법 모두 편리한 방법이지만 나는 IntelliJ를 사영해서 프로젝트를 생성해 보았다. 이유는 단지 지금 IntelliJ가 켜있어서... ㅎㅎ

1. 프로젝트 생성 및 설정

Type에는 Maven과 Gradle이 있다. 책에서는 익숙한 것을 사용하라고 했는데 나는 둘다 익숙하지는 않다고 생각해서 최근 현업에서 많이 사용된다고 하는 Gradle을 선택하였다. Maven과 Gradle의 차이점은 이전 글에서 다루었기 때문에 넘어가도록 하겠다.
Maven과 Gradle의 차이

<각 항목별 설정>

  • Name : 프로젝트의 이름 설정
  • Group : 이 프로젝트를 정의하는 고유한 식별자 정보인 그룹을 설정. 프로젝트 진행에는 영향을 주지 않음
  • Artifact : 세부 프로젝트를 식별하는 정보를 기입.
  • Package Name : Group과 Artifact를 설정하면 자동으로 입력된다.
  • JDK : 17 버전으로 설정
  • Java : 자바 17버전
  • Packaging : 애플리케이션을 쉽게 배포하고 동작하게 할 파일들의 패키징 옵션. (Jar 선택)

2. 의존성 설정

프로젝트에서 사용할 의존성을 추가해준다. 의존성은 초기에 추가할 수도 있지만 개발 중간에도 추가할 수 있다. 의존성 추가가 완료되면 Create버튼을 눌러 설정을 완료한다.

설정이 완료되면 위의 사진과 같은 화면이 실행된다.
혹시 graldle이 실행되지 않아서 springdl 잘 작동하지 않는다면 오른쪽에 있는 종을 눌러서 load gradle을 해주면 된다. 그러면 코끄리 모양의 아이콘이 오른쪽에 생길게 된다.


✅ Hello World 출력하기

1. Controller 작성하기

설정이 완료된 후 실행을 시키면 다음과 같이 하단에 실행 로그가 출력된다.

프로젝트가 잘 실행되는것을 확인했으니 이제 Hello World를 찍어보도록 한다. 우선 controller 패키지를 생성한다. 그리고 HelloController라는 이름의 컨트롤러를 생성한다.

다음과 같이 HelloController를 작성해 준다.
컨트롤러에 포함된 로직에서는 애플리케이션의 사용자 또는 클라이언트가 입력한 값에 대한 응답을 수행한다. 거의 모든 요청은 컨트롤러를 통해 진행되야 한다고 한다. 또한 일반거으로는 서비스나 데이터 액세스 레이어까지 요청을 전달한다고 한다.

작성후 스프링을 재실행 시키고 웹 브라우저에 localhost:8080/hello를 입력하면 Hello World가 출력된다.
❗️ 스프링 부트는 기본적으로 8080번 포트를 통해 웹 애플리케이션이 실행된다. 그래서 이번에도 localhost:8080으로 요청을 보낸것.

필요에 따라 스프링 부트가 실행되는 포트를 변경해야 한다면 application.properties에 다음과 같이 입력하여 원하는 포트로 변경할 수 있다.

2. Postman을 사용한 동작 테스트

Postman은 HTTP 통신을 테스트하는 프로그램이다.

위사진처럼 GET 방식으로 요청을 선택하고 요청할 주소를 입력해 준다. 방금전 컨트롤러에 RequestMapping을 hello로 했으므로 주소는 "localhost:8080/hello"로 입력하고 Send 버튼을 눌러 요청을 보내면 된다.

그러면 위와 같이 Body부분과 Header 부분을 볼 수 있다. 단순히 웹브라우저로 응답을 볼 때 보다 더욱 구체적인 응답을 확인할 수 있다.

✅ 마무리

프로젝트를 생성해 보는것이 처음은 아닌데 이런 간단한 과정에서도 어려움이 있었다. 평소에는 프로젝트 생성을 spring initizer를 사용해서 만들고 build.gradle파일을 인텔리제이로 실행시켜서 큰 문제가 없었는데 이번에는 처음으로 인텔리제이로 프로젝트를 생성하여서 gradle이 로드가 되지 않아 스프링 실행에 문제가 있었다. 정말 간단한 과정에서도 다양한 문제가 발생할 수 있다는 것을 느껴서 좋았던 것 같다.

항상 어디서든 문제가 발생할 수 있다는 것을 인지하고 개발을 하면 조금 덜 당황할 거 같다는 생각을 함...

profile
다 잘하고 싶은 개발자

0개의 댓글