본문 바로가기
GD's IT Lectures : 기초부터 시리즈/스프링부트(Spring Boot) 기초부터 ~

[스프링 부트(SpringBoot)] 스프링 부트의 핵심 기능

by GDNGY 2023. 5. 3.

3. 스프링 부트의 핵심 기능

3.1. 의존성 관리

스프링 부트는 개발자가 프로젝트를 진행하는 데 필요한 의존성을 쉽게 관리할 수 있도록 도와줍니다. 스프링 부트는 '스타터(Starter)'라는 의존성 그룹을 제공하여, 관련된 의존성들을 한 번에 추가할 수 있습니다.

 

예를 들어, 웹 개발을 위해 스프링 부트 웹 스타터를 사용할 수 있습니다.

 

Maven의 경우 pom.xml에 다음과 같이 추가합니다.

<!-- Maven 의존성 추가 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

 

Gradle의 경우 build.gradle에 다음과 같이 추가합니다.

// Gradle 의존성 추가
implementation 'org.springframework.boot:spring-boot-starter-web'

 

이렇게 스타터를 추가하면, 웹 개발에 필요한 여러 의존성들이 자동으로 추가되고, 버전 관리도 알아서 처리됩니다.

 

3.2. 자동 구성

스프링 부트는 개발자가 최소한의 설정만으로도 프로젝트를 구성할 수 있도록 자동 구성(Auto Configuration) 기능을 제공합니다. 스프링 부트는 @EnableAutoConfiguration 어노테이션을 통해 자동 구성을 활성화하며, 이는 보통 @SpringBootApplication 어노테이션에 포함되어 있습니다.

 

자동 구성은 스프링 부트가 애플리케이션의 의존성과 설정을 분석하여 필요한 빈(Bean)들을 자동으로 등록해주는 기능입니다. 예를 들어, 스프링 부트 웹 스타터를 추가한 경우에는 내장 톰캣 서버와 기본적인 웹 MVC 설정이 자동으로 구성됩니다.

 

3.3. 내장 서버

스프링 부트는 내장 웹 서버를 제공하여, 개발자가 별도의 웹 서버 설치 및 설정 없이도 웹 애플리케이션을 실행할 수 있게 합니다. 기본적으로 내장 톰캣(Tomcat)을 사용하며, 필요한 경우 Jetty, Undertow 등 다른 서버로 변경할 수 있습니다.

 

예제 코드:

간단한 스프링 부트 웹 애플리케이션 예제입니다.

// 스프링 부트 애플리케이션을 구성합니다.
@SpringBootApplication
public class MyWebApplication {

    public static void main(String[] args) {
        // 스프링 부트애플리케이션을 실행합니다.
        SpringApplication.run(MyWebApplication.class, args); 
	}

    // 컨트롤러를 정의합니다.
    @RestController
    public class MyController {

        @GetMapping("/")
        public String hello() {
            // "Hello, Spring Boot!" 문자열을 반환합니다.
            return "Hello, Spring Boot!";
        }
    }
}

 

 

2023.05.03 - [프로그래밍/스프링부트(Spring Boot) 기초부터 ~] - [스프링 부트(SpringBoot)] 환경 설정 및 프로젝트 생성

 

[스프링 부트(SpringBoot)] 환경 설정 및 프로젝트 생성

2. 환경 설정 및 프로젝트 생성 2.1. 개발 환경 설정 스프링 부트 개발을 시작하기 전에 필요한 도구와 환경을 설정해야 합니다. 다음은 스프링 부트 개발에 필요한 도구 및 환경입니다. JDK (Java Dev

gdngy.tistory.com

 

반응형

댓글