• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@SpringBootApplication에 대한 질문입니다.

20.10.21 23:04 작성 조회수 200

5

안녕하세요 영한님! 완강하고 리뷰하는데 질문이 생겨서 질문드립니다!!!

이전에 제가 질문으로 AutoAppconfig는 @Configuration 붙어있는데 exclude 안당하고 어떻게 돌아가냐 라는 질문에

new Annotation....(AutoAppconfig.class); 에 넣어주기 때문이라고 하셨습니다.

@SpringBootApplication 은 @ComponentScan이 내부 코드에 들어가 있고 그렇기에 최상단에 위치하는 것이 좋다고 하셨습니다. 그렇다면 이 CoreApplication은 빈등록이 어떻게 되는거죠?? 그냥 얘는 스프링에서 자동으로 해주기 때문에 AutoAppconfig 같이 직접 스프링 컨테이너에 넣어줄 필요가 없는건가요?? 궁금합니다!

답변 2

·

답변을 작성해보세요.

5

안녕하세요. kangsy763님

스프링부트는 자바 main을 처음 실행할 때 run의 파라미터로 @SpringBootApplication이 붙은 메인 클래스(CoreApplication.class)를 넘겨줍니다. 그러면 스프링부트가 내부에서 자동으로 해당 클래스를 스프링 빈으로 등록해서 사용합니다. 그렇기 때문에 직접 스프링 컨테이너에 등록하지 않아도 됩니다.

@SpringBootApplication
public class CoreApplication {

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

}

감사합니다.

1

kangsy763님의 프로필

kangsy763

질문자

2020.10.22

저게 저런 의미였군요 좋은 답변 감사합니다~