> Java > java지도 시간 > Spring- : How-Spring-Boot-Determines-Application-Context

Spring- : How-Spring-Boot-Determines-Application-Context

Susan Sarandon
풀어 주다: 2025-01-29 16:08:09
원래의
385명이 탐색했습니다.

스프링 부트는 응용 프로그램 컨텍스트의 구현을 자동으로 결정합니다. 를 호출 할 때, Spring Boot는 다음 요소에 따라 올바른 ApplicationContext 구현을 자동으로 결정합니다 spring-: how-spring-boot-determines-application-context 클래스 경로 (프로젝트의 종속성)

실행 응용 프로그램 유형 (웹 또는 비 -위브)

OK 프로세스 SpringApplication 내부적으로 다음 논리를 사용하여 적절한 ApplicationContext를 선택하십시오.

SpringApplication.run(MySpringBootApp.class, args); Spring MVC 또는 Spring WebFlux (Spring-Boot-Starter-Web 또는 Spring-Boot-Starter-Webflux) 인 경우 는 웹 기반 애플리케이션 컨텍스트 : 를 초기화합니다. 서비스 (Spring-Boot-Starter-Web)를 기준으로 : (임베디드 Tomcat, Jetty 또는 Undertow에 대한 스프링 MVC 응용 프로그램).

    반응 (스프링 부트 스타터 -webflux) : (웹 플럭스 애플리케이션의 경우).
  1. 스프링 부트 스타터-위에 있거나 스프링 부트 스타터-가중이없는 경우 : 는 : → 위와 아래의 비 와브 애플리케이션을 초기화합니다.

웹 애플리케이션 컨텍스트 예제

스프링 부트 스타터-위에 포함되면 출력은 다음과 같습니다.
    비 Web 응용 프로그램 컨텍스트 예 스프링 부트 스타터-위스를 제거하면 출력이 다음과 같습니다.
  • 애플리케이션 컨텍스트의 초기화의 중요성 아래의 아래의 는

    코어 컨테이너 이며, 스프링 부팅 애플리케이션에서 Bean의 수명주기와 구성을 관리합니다. 초기화는 다음과 같은 이유로 중요합니다 1. Bean Management

    응용 프로그램 컨텍스트 등록 및 관리 Bean .
      응용 프로그램 컨텍스트가 없으면 Spring은 인스턴스 및 종속성을 주입하는 방법을 모릅니다.
    • 2. 자동 구성 메커니즘 @Autowired는 응용 프로그램 컨텍스트에 따라 다릅니다.
    • 경로를 스캔하고 종속성에 따라 스프링 구성 요소를 구성합니다.
    • 3. 수명주기 및 이벤트 관리

      Application Context는 수명주기 이벤트를 게시합니다 (, ).

      셧다운 신호를 듣고 리소스를 올바르게 관리합니다.
      • 4. 내장 된 웹 서버 지원 @EnableAutoConfiguration 웹 애플리케이션의 경우 응용 프로그램 컨텍스트가 임베디드 서버 (Tomcat, Jetty, Undertow)를 시작합니다.
      • 이 ​​없으면 Spring Boot 는 http 요청 를 처리 할 수 ​​없습니다.
      5. 환경 및 속성 관리

      컨텍스트 또는 로드

      구성 속성 .
        는 구성 파일 ()과 환경에 맞는 설정을 관리합니다.
      • ApplicationReadyEvent ApplicationStartedEvent 올바른 응용 프로그램 컨텍스트의 실제 영향
      • 위와 아래의 올바른 응용 프로그램을 선택하는 것은 다음과 같이 응용 프로그램 의 동작에 영향을 미칩니다. 1. 내장 된 웹 서버를 시작할지 여부를 결정합니다

        잘못된 컨텍스트를 선택하면 응용 프로그램
          가 웹 애플리케이션으로
        • 를 시작하지 못할 수 있습니다. 웹 응용 프로그램에는 가 필요하며, Tomcat/Jetty를 안내합니다.
        • 2. 제어 구성 요소 스캐닝 및 의존성 분사 AnnotationConfigServletWebServerApplicationContext
        • 컨텍스트는 해당 범위 내의 종속성에 의해 초기화되고 주입됩니다.
        예를 들어 비위장 컨텍스트

        는 컨트롤러를 스캔하거나 초기화하지 않습니다 (는 작동하지 않습니다).

          3. 자동 구성 를 활성화 또는 비활성화합니다
        • 선택한 컨텍스트를 기반으로 한 스프링 부팅 자동 응용 프로그램 구성 .
        • 예를 들어 : 웹 컨텍스트가 선택되면 스프링 부팅이 4. Bean의 관리 및 로딩 방법에 영향
           웹 컨텍스트 사전 구성 <code>@RestController</code>, HTTP 요청을 처리합니다. 
          로그인 후 복사

  • 비 Web 컨텍스트에는 컨텍스트가 없으므로 추가 구성이 없으면 웹 요청 를 처리 할 수 ​​없습니다.

      요약
    • --- 마지막 아이디어 스프링 부트는 클래스 경로 에 따라 위와 아래의 올바른 응용 프로그램을 자동으로 선택합니다.
    • 웹 애플리케이션
    • 는 웹의 맥락을 기반으로해야합니다 (). 비네 비위 애플리케이션 표준 기반 컨텍스트 표준 ( 초기화의 올바른 컨텍스트
    올바른 의존성 주입, 자동 구성 및 수명주기 관리를 보장합니다. ?

위 내용은 Spring- : How-Spring-Boot-Determines-Application-Context의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿