Spring Boot Application 클래스에 @Configuration 주석이 필요한 이유는 무엇입니까?
Spring Framework에 대해 배우고 있지만 정확히 무엇을 알고 있는지 이해할 수 없습니다.@Configuration주석 수단과 주석을 달아야 하는 클래스에 대해 설명합니다.Spring Boot 문서에는 Application 클래스는 다음과 같이 기술되어 있습니다.@Configuration학급.
스프링 부트는 Java 기반 구성을 선호합니다.XML 소스를 사용하여 Spring Application.run()을 호출할 수 있지만 일반적으로 기본 소스가 @Configuration 클래스일 것을 권장합니다.
에 대해 알아보려고 합니다.@Configuration수업에 주석을 다는 것은@Configuration이 클래스는 Spring IoC 컨테이너에서 빈 정의 소스로 사용할 수 있음을 나타냅니다.
그렇다면 이 어플리케이션클래스는 어떻게 bean 정의의 소스일까요?
@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class App
{
public static void main(String[] args) throws Exception {
SpringApplication.run(App.class, args);
}
}
나는 봄과 관련된 대부분의 다른 기본적인 개념들을 거의 이해했지만, 나는 그것의 목적을 이해할 수 없다.@Configuration또는 어떤 클래스가 필요한가?@Configuration수업?누가 좀 도와주세요.감사합니다!!
제대로 이해하셨네요.
@설정
@Configuration는 xml 파일의 아날로그입니다.이러한 클래스는 bean 정의의 소스입니다.@Bean주석입니다.
@Configuration다음과 같습니다.
- 에서 주석이 달린 클래스를 이미 통과했다면 필수가 아닙니다.
sources호출할 때의 파라미터SpringApplication.run()방법 - 주석 첨부 클래스를 명시적으로 전달하지 않았지만, 이 클래스가 패키지에 포함되어 있는 경우 필수입니다.
@ComponentScan주 구성 클래스의 주석입니다.
가독성을 위해 명시적으로 전달된 클래스는sources어쨌든 주석을 달 수 있다@Configuration- 의도를 좀 더 명확하게 보여주기 위해서입니다.
당신의 현재 클래스는 사실 콩 정의의 소스가 아닙니다. 왜냐하면 그것은 아무것도 없기 때문입니다. 하지만 만약 당신이 그것을 가지고 있다면@Bean주석이 달린 방법이라면, 스프링은 그걸 볼 수 있을 거야.
@EnableAutoConfiguration
유무에 관계없이 사용 가능@Configuration클래스 패스에 있는 것으로 판단하여 기본적인 인프라스트럭처를 설정하도록 Spring에게 지시합니다.이 작업은 의 값에서 파생된 이른바 Import 클래스를 호출함으로써 수행됩니다.@Import라는 주석@EnableAutoConfiguration포함한다.하나의 클래스에만 주석을 달아야 합니다.@EnableAutoConfiguration복제하는 건 아무 소용이 없어요
다음 답변은 Spring Boot 초기화 프로세스를 이해하는 데도 도움이 될 수 있습니다.Spring Boot에서 실제로 SpringMVC용 디스패처 서블릿을 등록하는 코드는 무엇입니까?
Boot의 인 것 .@SpringBootApplication은 자동으로 됩니다.@Configuration콩Spring Boot의 주요 목표 중 하나는 추가 이동 없이 빠르게 애플리케이션을 만들 수 있도록 하는 것입니다.따라서 응용 프로그램 클래스에 bean 정의를 직접 추가할 수 있으므로 구성을 유지하기 위해 추가 클래스를 만들 필요가 없습니다.수업이 딱 한 개만 있으면 끝이에요.
언급URL : https://stackoverflow.com/questions/39247487/why-spring-boot-application-class-needs-to-have-configuration-annotation
'programing' 카테고리의 다른 글
| 리액트 라우터 v4 this.props.history.displays(...)가 기능하지 않습니다. (0) | 2023.02.13 |
|---|---|
| React 메모 또는 React 훅을 사용하여 기능 컴포넌트가 다시 렌더링되지 않도록 하려면 어떻게 해야 합니까? (0) | 2023.02.13 |
| Spring JSON 요구는 406을 취득(승인 불가) (0) | 2023.02.13 |
| Rails 4의 null_session과 reset_session의 차이점은 무엇입니까? (0) | 2023.02.13 |
| 내부 내용 편집 (0) | 2023.02.13 |