[Spring Boot] Spring Boot 시작하기
1. Spring Boot 소개
- 독립적이고, 제품 수준인 Spring 기반 application을 만들 때, 빠르고 쉽게 만들 수 있음
- 유저가 최소한의 설정만 할 수 있도록 자주 사용되는 설정 값을 기본적으로 제공함
ex) 톰캣 - Java 8 이상에서 사용 가능
2. Spring Boot 목적
- Spring application 개발을 더 빠르고, 폭넓게 할 수 있음
- 기본적으로 자주 사용하는 설정 값을 제공하지만, 요구사항에 맞게 얼마든지 변경할 수 있음
- non-functional 기능도 제공함
ex) embedded servers, security, metrics, health checks, externalized configuration - 코드 제너레이션과 XML 설정을 하지 않음
3. maven
- Java 프로젝트의 전체적인 라이프사이클 관리도구
- pom.xml에 필요한 라이브러리를 정의해 놓으면,
해당 라이브러리 동작에 필요한 다른 라이브러리들까지 자동으로 다운받음 - 중앙 저장소를 통해 의존성 관리를 함
4. 실행
- pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.hhlin</groupId>
<artifactId>spring-boot-getting-started</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.2.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
</project>
- main class
package com.hhlin;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
- IntelliJ에서 project run을 하면 Tomcat이 실행되는 것을 확인 할 수 있음
- localhost:8080 확인
- Terminal 에서 mvn package 명령어 및 생성된 jar 파일 실행해도 위의 project run 했을 때와 동일하게 Tomcat이 실행됨
5. Spring Boot 프로젝트 구조
maven 기본 프로젝트 구조와 동일
- 소스 코드 (src\main\java)
- 소스 리소스 (src\main\resource)
- 테스트 코드 (src\test\java)
- 테스트 리소스 (src\test\resource)
메인 에플리케이션(SpringBootApplication 어노테이션이 붙은 파일) 위치 : 기본 패키지
6. Spring Initializr
Spring Initializr(https://start.spring.io)에서도 프로젝트 생성 가능
2021.10.18 - [Java/Spring] - [Spring] Spring 프로젝트 생성
[Spring] Spring 프로젝트 생성
1. Spring Initializr 접속 https://start.spring.io/ 2. 설정 3. Generate - 설정 완료 후 Generate 클릭하면 zip 파일이 다운로드 됨 - 다운로드 받은 파일 압축 풀고 IntelliJ에서 해당 프로젝트 열기 4. 프로..
hhlin.tistory.com
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard
스프링 부트 개념과 활용 - 인프런 | 강의
스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다., - 강의 소개 | 인프런...
www.inflearn.com
https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started
Getting Started
If you are getting started with Spring Boot, or “Spring” in general, start by reading this section. It answers the basic “what?”, “how?” and “why?” questions. It includes an introduction to Spring Boot, along with installation instructions.
docs.spring.io
https://cheershennah.tistory.com/151
메이븐이란? Maven 파헤치기. pom,repository,lifecycle ...
메이븐이란 Maven ? 프로젝트의 전체적인 라이프사이클을 관리하는 관리도구이다. 프로젝트 객체모델(Project Object Model: POM) 이라는 개념을 바탕으로 프로젝트의 의존성관리, 라이브러리관리, 프로
cheershennah.tistory.com
https://jeong-pro.tistory.com/168
메이븐(Maven)은 알고 스프링(Spring)을 쓰는가? (pom.xml 분석하며 가볍게 정리하는 빌드 툴, Maven)
메이븐(Maven)은 알고 스프링(Spring)을 쓰는가? 제목과 같은 질문에 필자는 제대로 답변할 수 없었다. 단순하게는 maven repository에서 dependency 추가해서 필요한 라이브러리 쓰는 정도? 무엇을 위해
jeong-pro.tistory.com