@SpringBootApplication

Yuno·2024년 8월 18일
0

Spring Boot 어플리케이션의 시작점을 정의하는 어노테이션. 이 어노테이션은 여러 다른 어노테이션을 조합하여 Spring Boot 어플리케이션의 기본 설정을 간소화하고, 자동 설정 기능을 제공함


👉 주요 구성 요소

@SpringBootApplication 은 세 가지 어노테이션을 포함하고 있음
1. @EnableAutoConfiguration

  • Spring Boot 의 자동 설정 기능을 활성화함. 이 어노테이션은 어플리케이션이 필요로 하는 빈(bean)을 자동으로 설정함. 예를 들어, 데이터베이스의 설정, 웹 서버 설정 등을 자동으로 구성해 줌
  1. @ComponentScan
  • Spring의 컴포넌트 스캔을 활성화하여, 현재 패키지와 하위 패키지에 있는 @Component, @Service, @Repository, @Controller 등으로 마크된 클래스를 자동으로 스캔하고 빈으로 등록함. 이를 통해 어플리케이션의 계층 구조를 쉽게 구성할 수 있음.
  1. **@Configuration
  • 이 클래스가 하나 이상의 빈 정의를 포함하고 있으며, Spring IoC 컨테이너에서 빈으로 사용할 수 있음을 나타냄. 또한, 이 어노테이션은 어플리케이션 설정을 위한 환경을 제공하는 역할도 함

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MySpringBootApplication {
	
    public static void main(String[] args) {
    	SpringApplication.run(MySpringBootApplication.class, args);
    }
}

위의 코드에서 MySpringBootApplication 클래스는 @SpringBootApplication 어노테이션을 사용하여 Spring Boot 어플리케이션의 시작점을 정의함. SpringApplication.run 메서드는 어플리케이션을 시작하며, 내장된 웹 서버(Tomcat 등)를 실행하고, 필요한 설정을 자동으로 구성함.


📌 주요 기능

  1. 자동 설정
  • @SpringBootApplication 을 사용하면 대부분의 Spring 설정이 자동으로 이루어짐. 예를 들어, 데이터 소스, 메시징, 보안 설정 등을 자동으로 구성함.
  1. 컴포넌트 스캔
  • 현재 패키지와 하위 패키지에 있는 모든 Spring 컴포넌트(@Component, @Service, @Repository, @Controller) 를 자동으로 스캔하고 빈으로 등록함
  1. 어플리케이션 설정
  • 이 어노테이션은 어플리케이션이 시작될 때 Spring 설정을 자동으로 구성해주므로, 개발자는 설정 파일을 일일이 작성할 필요가 없음
profile
Hello World

0개의 댓글