스프링 부트 핵심 가이드
[스프링 부트 핵심 가이드] Chapter 4. 스프링 부트 애플리케이션 개발하기
프로젝트 생성
두 가지 방법이 있다
- Spring Initializr 라는 사이트를 통해 프로젝트를 생성한다
- Intellij IDEA에서 프로젝트를 생성한다
인텔리제이 IDEA에서 프로젝트 생성
인텔리제이에는 Spring Initializr가 내장이 되어 있다
- 외부에서 프로젝트를 만드는 것이 아닌, 인텔리제이에서 바로 프로젝트를 생성하고 개발할 수 있다
1. 인텔리제이에서 New Project를 클릭하기
2. 왼쪽 바에 언어와 빌더 등이 있는데 Spring Initializer 선택하기
- Name : 프로젝트 이름
- Location : 프로젝트를 생성할 위치
- Language : JVM (Java Virtual Machine) 상에서 동작하는 언어
- Type : 빌드 툴을 선택
- Group : 프로젝트를 정의하는 식별자 정보인 그룹을 설정
- Artifact : 세부 프로젝트를 식별하는 정보를 기입
- Package name : Group과 Artifact를 설정하면 자동으로 입력이 된다
- Project SDK : 주로 자바와 같은 버전을 선택한다
- Java : 자바 버전 (Spring boot 버전에서 작동이 안 되는 자바 버전이 있을 수 있다)
- Packaging : 어플리케이션을 쉽게 배포하고 동작하게 할 파일들의 패키징 옵션이다. 주로 Jar를 선택하지만, HTML, CSS 도 사용하려면 War을 선택한다
3. 의존성 추가
- 추후에 추가를 할 수 있다
스프링 공식 사이트에서 프로젝트 생성
Intellij, 위에 내용과 비슷한 세팅을 하면 된다
단 스프링 공식 사이트에서 프로젝트 생성한다는 것은, 프로젝트를 따로 만드는 것이다
- 압축 파일을 풀고, 프로젝트에 들어가야 한다
pom.xml (Project Object Model)
메이븐의 기능을 사용하기 위해 작성하는 파일이다
- gradle을 사용시에 build.gradle 파일이 있다
빌드 관리 도구는 JVM이나 WAS가 프로젝트를 인식하고 실행할 수 있도록, 우리가 작성한 소스코드와 프로젝트 파일들을 빌드해준다
- 개발 규모가 커질 수록 라이브러리가 많아지고, 라이브러리 간에 호환성을 확인해야 하는데, 빌드 관리 도구가 알아서 문제를 해결해 준다
메이븐은 자바 기반의 프로젝트를 빌드하고 관리하는 데에 사용하는 도구다 (Gradle도 같다)
- 프로젝트 관리 : 프로젝트 버전과 아티팩트를 관리
- 빌드 및 패키징 : 의존성을 관리하고 설정된 패키지 형식으로 빌드 수행
- 테스트 : 빌드를 수행하기 전에 단위 테스트를 통해 작성된 어플리케이션 코드의 정상 동작 여부 확인
- 배포 : 빌드가 완료된 패키지를 원격 저장소에 배포
메이븐의 기능은 생명주기 순서에 따라 관리되고 동작한다
- 기본 생명주기 (Default Lifecycle)
- validate : 프로젝트를 빌드하는 데 필요한 모든 정보를 사용할 수 있는지 검토
- compile : 프로젝트의 소스코드를 컴파일한다
- test : 단위 테스트 프레임워크를 사용해 테스트 실시
- package : 컴파일한 코드를 가져와서 JAR 등의 형식으로 패키징을 수행
- verify : 패키지가 유효하며 일정 기준을 충족하는지 확인
- install : 프로젝트를 사용하는 데 필요한 패키지를 로컬 저장소에 설치
- deploy : 프로젝트를 통합 또는 릴리스 환경에서 다른 곳에 공유하기 위해 원격 저장소에 패키지를 복사
- 클린 생명주기 (Clean Lifecycle)
- clean : 이전 빌드가 생성한 모든 파일을 제거한다
- 사이트 생명주기 (Site Lifecycle)
- site : 메이븐의 설정 파일 정보를 기반으로 프로젝트의 문서 사이트를 생성
- site-deploy : 생성된 사이트 문서를 웹 서버에 배포
Hello World 출력하기
1. controller 패키지를 만든다
- 왼쪽 프로젝트 바에, main/java/com.Example.hello 루트에 오른쪽 클릭을 한다
- [New] -> [Java Class]를 누르고 HelloController를 입력하면 HelloController 클래스를 만들 수 있다
컨트롤러에 포함된 로직에서는 어플리케이션의 사용자 또는 클라이언트가 입력한 값에 대한 응답을 수행한다
특별한 경우를 제외한 모든 요청은 컨트롤러를 통해 진행된다
2. 아래 코드를 작성한다
3. 어플리케이션을 실행하고 콘솔을 확인한다
- Tomcat started on port(s): 8080 (http) with context path 가 뜨면 로컬 포트 8080에 해당 어플리케이션이 실행됬다는 것
4. http://localhost:8080/hello 를 실행하면 Hello World가 출력된 것을 볼 수 있다
'독서 > 스프링 부트 핵심 가이드' 카테고리의 다른 글
[스프링 부트 핵심 가이드] Chapter 6. 데이터 베이스 연동 (0) | 2023.09.08 |
---|---|
[스프링 부트 핵심 가이드] Chapter 5. API를 작성하는 다양한 방법 (0) | 2023.09.03 |
[스프링 부트 핵심 가이드] Chapter 3. 개발 환경 구성 (0) | 2023.08.28 |
[스프링 부트 핵심 가이드] Chapter 2. 개발에 앞서 알면 좋은 기초 지식 (0) | 2023.08.27 |
[스프링 부트 핵심 가이드] Chapter 1. 스프링 부트란? (1) | 2023.08.27 |