[Spring Boot] 스프링 부트 시작하기

dsunni·2020년 7월 27일
1
post-thumbnail

처음에는 단순히 프로젝트를 많이 진행하면 좋은 개발자가 저절로 될 것이라는 큰 착각을 했었다. 따라서 WHY에 대한 고민 없이 어떻게 하면 에러 없이 코드가 돌아갈지만을 생각하며 HOW에 시간을 투자했다.

그 결과 Spring Boot와 Spring Framework로 여러 프로젝트들을 진행했음에도 불구하고 여전히 많은 부분에서 부족함을 느끼고 있다. 개념적으로 정립이 되어있지 않은 상태에서 무조건 개발만 했으니 당연한 결과라고 생각한다..😕

따라서 이번 기회에 Spring Boot를 제대로 개념부터 차근차근 공부하고자 한다.

본 시리즈는 백기선님의 「스프링부트 개념과 활용」 강의를 본 기록입니다.

🍃 Spring Boot Reference 2.0.3 RELEASE


1. 스프링부트 소개

스프링부트는 제품 수준의 독립적인 스프링 애플리케이션을 빠르고 쉽게 만들 수 있게 도와준다.

설정들을 하나하나 설정해주지 않아도 자동으로 설정해주며 설정들을 원하는 대로 커스터마이징 가능하다.


2. IntelliJ 스프링부트 프로젝트 생성

  • New Project - Maven 선택

image

  • GroupId : 패키지명

(1) Parent 설정 추가

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
</parent>
  • 프로젝트의 부모 프로젝트를 spring-boot-starter-parent로 지정

(2) Web, Build Plugin 설정 추가

<!-- Add typical dependencies for a web application -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

<!-- Package as an executable jar -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

image

  • 항상 Maven 탭에서 새로고침을 해줘야한다.


3. Spring Boot Application 만들기 (1) - IntelliJ

  • src - main - java 에 me.dsunni라는 패키지 추가
  • 패키지 내에 Application이라는 Java Class 추가
package me.dsunni;

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);
    }
}

Application 실행

  • 우클릭 - Run Application

  • 터미널창

    mvn package		// 패키징 후 jar 파일 생성됨
    java -jar target/spring-boot-getting-started-1.0-SNAPSHOT.jar


4. Spring Boot Application 만들기 (2) - Spring.io

https://start.spring.io/

image

  • Dependencies에서 Web 등의 의존성 추가 가능
  • Generate 를 클릭해 zip 파일 생성


5. Spring Boot 프로젝트 구조

image

  • 메이븐 기존 프로젝트 구조와 동일
    • 소스코드 (src\main\java)
    • 소스 리소스 (src\main\resources)
    • 테스트코드 (src\test\java)
    • 테스트 리소스 (src\test\resources)
  • Main Application Class는 최상위 패키지에 위치시키는게 좋다
    • 최상위 패키지부터 ComponentScan이 시작되어 차례대로 Bean에 등록이 되기 때문이다.
profile
https://dsunni.tistory.com/ 이사갑니답

0개의 댓글