Spring/Spring Boot

@SpringBootApplication

빌드이너프 2023. 12. 19. 20:11
@SpringBootApplication
public class SpringBootDeveloperApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootDeveloperApplication.class, args);
    }
}

 

@SpringBootApplication는 스프링 부트 사용에 필요한 기본 설정을 해준다

SpringApplication.run() 메서드는 애플리케이션을 실행,

첫 번째 인수는 스프링 부트 3 애플리케이션의 메인 클래스로 사용할 클래스,

두 번째 인수는 커맨드 라인의 인수들을 전달

 

@SpringBootApplication의 구성 중 @SpringBootConfiguration, @ComponentScan, @EnableAutoConfiguration이 있다

 

 

@SpringBootConfiguration

스프링 부트 관련 설정을 나타내는 애너테이션

@Configuration을 상속해서 만든 애너테이션

직접 사용하는 애너테이션은 아님

 

@ComponentScan

사용자가 등록한 빈을 읽고 등록하는 애너테이션

@Component라는 애너테이션을 가진 클래스들을 찾아 빈으로 등록하는 역할(모든 빈에 @Component만 사용하는 건 아님)

@Component 애너테이션보다 용도에 따라 다른 애너테이션을 사용

애너테이션 명 설명
@Configuration 설정 파일 등록
@Repository ORM 매핑
@Controller, @RestController 라우터
@Service 비즈니스 로직

 

@EnableAutoConfiguration

스프링 부트에서 자동 구성을 활성화하는 애너테이션

스프링 부트 서버가 실행될 때 스프링 부트의 메타 파일을 읽고 정의된 설정들을 자동으로 구성하는 역할 수행