Skip to main content Link Search Menu Expand Document (external link) Copy Copied

프로젝트 셋팅

프로젝트 생성 및 설정

Spring Web과 Lombok을 포함한 기본 Dependencies를 추가해서 프로젝트를 만든다. 이후 프로젝트 설정에서 import 관련 옵션을 켜준다. import 설정(설정 -> 에디터 -> 일반 -> 자동 가져오기)에서 다음 두 가지를 체크한다.

  1. 모호하지 않은 import 문 즉시 추가
  2. import 문 즉시 최적화

또한, 에디터에서 글씨 크기를 쉽게 조절하려면 Cmd + 마우스 휠 로 글자 크기 변경 기능을 켜줄 수 있다.


Gradle

Gradle은 빌드 자동화 시스템으로, Java 소스 코드를 실행 가능한 결과물로 바꿔준다. Gradle 탭에서 Tasks -> build -> build를 실행하거나 build.gradle 파일을 직접 실행해 프로젝트를 빌드할 수 있다. 빌드 결과는 프로젝트/build/libs 폴더에 .jar 파일로 만들어진다.


build.gradle

파일은 소스 코드 빌드와 라이브러리의 요청을 관리하며 Groovy, Kotlin 언어로 작성된다. 필요한 라이브러리는 dependencies에 추가하면 Maven repository에서 다운로드된다.


서버와 네트워크

네트워크

네트워크는 여러 대의 장비가 서로 연결이 되어 서로 정보를 주고 받을 수 있게하는 기술이다.

서버는 클라이언트가 요청한 정보를 처리하고 응답해준다. 네트워크는 여러 장비가 연결되어 정보를 주고받는 구조로, IP 주소와 포트 번호를 통해 통신이 이루어진다.


웹서버와 WAS

웹 서버는 브라우저의 HTTP 요청을 받아 처리하고, 결과를 HTTP 응답으로 돌려준다. 기본적으로 GET 메소드를 사용해 리소스를 요청한다.

  • APACHE 웹서버
    브라우저가 요청한 페이지를 처리하고, HTML 같은 문서를 돌려주는 역할을 한다. 동적인 콘텐츠는 WAS로 넘겨 처리하고, 정적인 콘텐츠는 직접 제공한다.
  • APACHE TOMCAT
    웹서버와 WAS 기능을 합친 서버로, Web Container(Servlet)를 통해 작동하며, 기본 포트는 8080이다.

HTTP 개념 및 상태코드

HTTP는 데이터를 주고받는 통신 규약이다. 클라이언트와 서버가 데이터를 주고받을 때 주로 쓰이며, 대부분의 브라우저가 HTTP를 기본으로 지원한다.


상태코드

  • 1xx: 요청이 접수되었고 처리가 계속되고 있다.
  • 2xx: 요청이 성공적으로 처리되었다.
  • 3xx: 추가 조치가 필요하다.
  • 4xx: 클라이언트 쪽에 문제가 발생했다.
  • 5xx: 서버 쪽에 문제가 발생했다.

개발자 도구의 네트워크 탭에서 Headers와 Response를 확인해 요청과 응답이 잘 처리되었는지 볼 수 있다.


POSTMAN과 API 테스팅

POSTMAN은 API를 빠르고 쉽게 개발할 수 있게 도와주는 프로그램이다. API 테이블을 작성해 API 이름, 메소드, URL, 설명 등을 정리하면 협업할 때 유용하다.


Spring

Spring Framework와 Spring Boot

Spring Framework는 여러 기능을 제공하지만, 설정할 게 많다. 반면, Spring Boot는 어노테이션을 이용해 더 간편하게 설정할 수 있고, 개발에 필요한 기본적인 설정정보를 디폴트값으로 설정을 해준다. 외부 라이브러리와 의존성 관리도 쉽게 해준다. 내장된 Apache Tomcat이 포함되어 서버 환경을 구성할 수 있다.


테스트 코드

테스트 코드는 소프트웨어가 잘 작동하는지 확인하는 도구다. Spring에서는 JUnit을 사용해 테스트 코드를 작성할 수 있고, 자동으로 테스트를 할 수 있다. 테스트 코드는 빠르고 정확하지만, 작성하는 데 시간이 걸리고 유지하는 데 비용이 들 수 있다.


Lombok

Lombok은 자주 쓰는 기능을 어노테이션으로 간편하게 처리해주는 라이브러리다. 이를 통해 코드를 더 쉽게 작성할 수 있다.


application.properties 설정

Spring Boot에서는 application.properties 파일을 이용해 기본 설정을 바꿀 수 있다. 이를 통해 애플리케이션의 동작 방식을 조정할 수 있다.


실습자료

GitHub