| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- TestCode
- Java
- LinkedList
- 백엔드스쿨
- 서버
- 백준
- 핵심가이드
- ORM
- SpringBoot
- SpringSecurity
- 백엔드
- restTemplate
- 컴퓨터 구조
- actuator
- 프로그래머스
- 연관관계
- 제로베이스
- 스프링부트
- 자료구조
- JWT
- spring boot
- 개발자
- 백엔드공부
- spring
- QueryDSL
- 컴퓨터 공학
- queue
- error
- array
- JPA
- Today
- Total
be_better
[Springboot] 스프링 부트 애플리케이션 개발하기 본문
목차
프로젝트 생성
스프링 부트 프로젝트를 쉽게 만드는 방법으로 인텔리제이 IDEA에서 프로젝트 생성하는 방법, Spring Initializr를 이용해 생성하는 방법이 있다.
인텔리제이 IDEA에서 프로젝트 생성하기
인텔리제이 IDEA 얼티밋 버전에는 Spring Initializr 기능이 내포되어 있다.
[New Project]를 클릭한 후 좌측에 Spring Initializr탭을 누른다.

각 항목에 대한 설정은
- Name: 프로젝트의 이름을 설정
- Location: 프로젝트를 생성할 위치를 설정
- Language: JVM 상에서 동작하는 언어를 선택
- Type: 빌드 툴을 선택
- Group: 이 프로젝트를 정의하는 고유한 식별자 정보인 그룹 설정. 이 프로젝트를 진행하는 데 영향을 주지는 않는다.
- Artifact: 세부 프로젝트를 식별하는 정보를 기입
- Package name: Group과 Artifact를 설정하면 자동으로 입력됨.
- Project SDK: SDK 버전 선택
- Java: Java 버전 선택
- Packaging: 애플리케이션을 쉽게 배포하고 동작하게 할 파일들의 패키징 옵션
다음 페이지에서 의존성들을 추가할 수 있다.

놓친 의존성들은 추후에 직접 코드내에서 추가할 수 있다.
스프링 공식 사이트에서 프로젝트 생성하기
https://start.spring.io 사이트 접속 후 진행

인텔리제이 IDEA 의 항목들과 동일하다.
오른쪽 화면에서 [ADD DEPENDENCIES] 클릭 후 의존성 검색해서 추가 후 [GENERATE]를 누르면 생성되는 압축파일을 풀면 프로젝트 생성 완료
pom.xml(Project Object Model) 살펴보기
pom.xml 파일은 메이븐의 기능을 사용하기 위해 작성하는 파일이다. 프로젝트, 의존성 라이브러리, 빌드 등의 정보 및 해당 프로젝트를 관리하는 데 필요한 내용이 기술되어 있다.
빌드 관리 도구
JVM이나 WAS가 프로젝트를 인식하고 실행할 수 있게 우리가 작성한 소스코드와 프로젝트에 사용된 파일들(.xml, .jar, .properties)를 빌드하는 도구이다. 라이브러리 간 호환성을 체크해야 하는 어려움을 해결해준다.
메이븐
아파치 메이븐은 자바 기반의 프로젝트를 빌드하고 관리하는 데 사용하는 도구이다. 초창기 자바 프로젝트의 대표적 관리 도구였던 Ant를 대체하기 위해 개발되었다.
메이븐의 대표 기능 4가지
- 프로젝트 관리: 프로젝트 버전과 아티팩트를 관리
- 빌드 및 패키징: 의존성을 관리하고 설정된 패키지 형식으로 빌드를 수행
- 테스트: 빌드를 수행하기 전에 단위 테스트를 통해 작성된 애플리케이션 코드의 정상 동작 여부를 확인
- 배포: 빌드가 완료된 패키지를 원격 저장소에 배포
메이븐의 생명주기
메이븐의 생명주기는 크게 기본 생명주기(Default Lifecycle), 클린 생명주기(Clean Lifecycle), 사이트 생명주기(Site Lifecycle) 3가지로 구분한다.

- clean: 이전 빌드가 생성한 모든 파일을 제거
- validate: 프로젝트를 빌드하는 데 필요한 모든 정보를 사용할 수 있는지 검토
- compile: 프로젝트의 소스코드를 컴파일
- test: 단위 테스트 프레임워크를 사용해 테스트를 실행
- package: 컴파일한 코드를 가져와서 JAR 등의 형식으로 패키징 수행
- verify: 패키지가 유효하며 일정 기준을 충족하는지 확인
- install: 프로젝트를 사용하는 데 필요한 패키지를 로컬 저장소에 설치
- deploy: 프로젝트를 통합 또는 릴리스 환경에서 다른 곳에 공유하기 위해 원격 저장소에 패키지 복사
- site: 메이븐의 설정 파일 정보를 기반으로 프로젝트의 문서 사이트를 생성
- site-deploy: 생성된 사이트 문서를 웹 서버에 배포
Hello World 출력하기
앞서 생성한 프로젝트에 controller패키지를 생성후 Java클래스로 'HelloController'라는 이름으로 controller 생성

컨트롤러에 포함된 로직에서는 애플리케이션의 사용자 또는 클라이언트가 입력한 값에 대한 응답을 수행한다. 특별한 경우를 제외한 모든 요청은 컨트롤러를 통해 진행된다.
컨트롤러 코드
package com.example.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";
}
}
애플리케이션 실행하기
인텔리제이 IDEA 우측 상단의 실행버튼을 누르고 콘솔 탭에서의 실행 로그를 확인한다.
포트를 변경해 실행하고 싶다면 application.properties에 server.port:9090 코드를 추가한다.

실행 후 실행포트 확인

웹 브라우저를 통한 동작 테스트
웹 브라우저로 스프링 부트가 설정한 URL에 접속하면 간단하게 실행 결과를 확인할 수 있다.

Postman을 통해 확인


+ 버튼 클릭후 GET 메소드를 선택하고 localhost:9090/hello 입력 후 Send 버튼 클릭하면 결과를 확인할 수 있다.


response Body에서는 원하는 출력값을 볼 수 있고
response Header에서는 Header 정보들을 볼 수 있다.
'Springboot > 이론' 카테고리의 다른 글
| [Springboot] 데이터베이스 연동 - ORM, JPA (0) | 2023.11.05 |
|---|---|
| [Springboot] API를 작성하는 다양한 방법 (0) | 2023.10.29 |
| [Springboot] 개발 환경 구성 (0) | 2023.10.22 |
| [Springboot] 개발에 앞서 알면 좋은 기초 지식 (0) | 2023.10.22 |
| [Springboot] 스프링 부트란? (0) | 2023.10.19 |