
: 스프링 부트를 활용한 애플리케이션 개발 실무
📝 목차
4장. 스프링 부트 애플리케이션 개발하기
4-1. 프로젝트 생성
- 인텔리제이 IDEA에서 프로젝트 생성하기
- 스프링 공식 사이트에서 프로젝트 생성하기
4-2. pom.xml (Project Object Model) 살펴보기
- 빌드 관리 도구
- 메이븐
4-3. Hello World 출력하기
- 컨트롤러 작성하기
- 애플리케이션 실행하기
- 웹 브라우저를 통한 동작 테스트
- Talend API Test를 통한 동작 테스트
: 스프링 부트 프로젝트를 쉽게 만드는 방법 2가지를 소개
: 인텔리제이 IDEA 얼티밋 버전에서만 가능 (내장된 Spring initializr)
커뮤니티 버전에서는 사용 불가🚫

얼티밋 버전에서 [New Project] 클릭 - 'Spring initializr' 선택하면 보이는 창

- Name(이름)
: 프로젝트 이름을 설정- Location(위치)
: 프로젝트를 생성할 위치 설정- Language(언어)
: JVM 상에서 동작하는 언어를 선택- Type(타입)
: 빌드 툴 선택- Group(그룹)
: 프로젝트를 정의하는 고유 식별자 정보 (프로젝트에 진행하는데 영향❌)- Artifact(아티팩트)
: 세부 프로젝트를 식별하는 정보를 기입- Package name(패키지 이름)
: Group과 Artifact를 설정하면 자동으로 입력⭕- JDK
- Java
- Packaging(패키지 생성)
: 애플리케이션을 쉽게 배포 & 동작하게 할 패키징 옵션
다음 단계 - 프로젝트에서 사용할 의존성 추가하기!
의존성은 지금처럼 프로젝트 생성 시 추가할 수 있고,
개발을 진행하는 중에 추가할 수도 있다.

기본적인 의존성 추가
Lombok
Spring Configuration Processer
Spring Web
: 인텔리제이 커뮤니티 버전이 프로젝트 생성하기
⬇️ 스프링 공식 사이트에서 스프링 부트 프로젝트를 자동으로 만들어주는 서비스
https://start.spring.io/

- Project : 빌드 툴 선택
- Language : JVM 상에서 동작하는 언어 선택
- Spring Boot : 버전 선택
- Project Metadata
Group : 프로젝트를 정의하는 고유 식별자 정보 (보통 회사 도메인을 넣음)
Artifact : 프로젝트 이름
⬇️ 자동 완성
Name
Description (자유롭게 서술 가능)
Package Name- Packaging : 애플리케이션을 쉽게 배포 & 동작하게 할 패키징 옵션 선택
- Java : 버전 선택
ADD DEPENDENCIES.. 버튼 클릭



GENERATE 버튼 클릭 ➙ 우리가 설정한 압축파일이 생성

+ 프로젝트 구동 시켜보기
1. 프로젝트명.zip 파일 압축 풀기
2. intelliJ 실행
3. Open or Import 클릭
4. build.gradle 파일 선택 후 Open 클릭
5. Open as Project 선택
: pom.xml파일 = 메이븐의 기능을 사용하기 위해 작성하는 파일
이 파일에는 프로젝트를 관리하는 데 필요한 기술이 기술되어 있음
: JVM이나 WAS가 프로젝트를 인식하고 실행할 수 있게 우리가 작성한 소스코드와 프로젝트에 사용된 파일들을 빌드하는 도구
개발 규모가 커질수록 관리할 라이브러리가 많아지고 라이브러리 간 버전 호환성을 체크해야 하는 어려움 발생 ➙ 빌드 관리 도구로 문제를 해결
: 초창기 자바 프로젝트의 대표적 관리도구 Ant를 대체하기 위해 개발
특징
: pom.xml 파일에 필요한 라이브러리를 추가하면 해당 라이브러리에 필요한 라이브러리까지 함께 내려받아 관리
메이븐의 대표 기능
✅ 프로젝트 관리
: 프로젝트 버전과 아티팩트를 관리
✅빌드 및 패키징
: 의존성을 관리하고 설정된 패키지 형식으로 빌드를 수행
✅테스트
: 빌드를 수행하기 전, 단위 테스트를 통해
작성된 애플리케이션 코드의 정상 동작 여부를 확인
✅배포
: 빌드가 완료된 패키지를 원격 저장소에 배포
기본 생명주기(Default Lifecycle),
클린 생명주기(Clean Lifecycle),
사이트 생명주기(Site Lifecycle)

✅ 클린 생명주기
clean
: 이전 빌드가 생성한 모든 파일을 제거
✅ 기본 생명주기
validate
: 프로젝트를 빌드하는 데 필요한 모든 정보를 사용할 수 있는지 검토
compile
: 프로젝트의 소스코드를 컴파일
test
: 단위 테스트 프레임워크를 사용해 테스트를 실행
pacakge
: 컴파일한 코드를 가져와서 JAR 등의 형식으로 패키징을 수행
verify
: 패키지가 유효하며 일정 기준을 충족하는지 확인
install
: 프로젝트를 사용하는 데 필요한 패키지를 로컬 저장소에 설치
depoly
: 프로젝트를 통합 또는 릴리스 환경에서
다른 곳에 공유하기 위해 원격 저장소에 패키지를 복사
✅ 사이트 생명주기
site
: 메이븐의 설정 파일 정보를 기반으로 프로젝트의 문서 사이트를 생성
site-deploy
: 생성된 사이트 문서를 웹 서버에 배포
⬇️ 메이븐 공식 사이트
https://maven.apache.org/
: "Hello World!"를 출력하는 애플리케이션 만들어 보기
생성한 프로젝트에 패키지 생성하기
컨트롤러에 포함된 로직
: 애플리케이션의 사용자 또는 클라이언트가 입력한 값에 대한 응답을 수행
특별한 경우를 제외한 모든 요청은 컨트롤러를 통해 진행되어야 한다!
package com.springboot.hello.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "Hello World"
}
}
상단부에 위치한 실행 버튼을 누르면 동작
(단축키 : Alt + Shift + F10 , 같은 동작 재실행 : Shift + F10)
애플리케이션이 올바르게 동작하는지 테스트하는 방법 2가지 ⬇️
: 스프링 부트가 설정한 URL로 접속하면 간단하게 실행 결과 확인 가능
: HTTP 통신을 테스트하는 프로그램
❓ 아카이브 파일