boot musim bunga secara automatik menentukan pelaksanaan konteks aplikasi
SpringApplication.run(MySpringBootApp.class, args);
Laluan Kelas (Ketergantungan dalam Projek)
ia akan memulakan konteks aplikasi berasaskan web
:→ (Aplikasi MVC Spring untuk Tomcat, Jeti atau Undertow).
Reacting (Spring-Boot-Starter-WebFlux):AnnotationConfigServletWebServerApplicationContext
AnnotationConfigReactiveWebServerApplicationContext
. konteks aplikasi web sebagai contoh
Jika ia mengandungi Spring-Boot-Starter-Web, output akan menjadi:AnnotationConfigApplicationContext
Jika anda mengeluarkan Web Starter-Starter-Starter-Web, output akan menjadi: <code class="language-java">@SpringBootApplication public class WebApplication { public static void main(String[] args) { ConfigurableApplicationContext context = SpringApplication.run(WebApplication.class, args); System.out.println("Context Type: " + context.getClass().getName()); } }</code>
Container Core
, ia menguruskan kitaran hayat dan konfigurasi kacang dalam aplikasi Spring Boot. Inisialisasi adalah penting untuk sebab -sebab berikut:<code>Context Type: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext</code>
@Autowired
@EnableAutoConfiguration
ia mengimbas jalan dan konfigurasikan komponen ApplicationReadyEvent
Ia mendengar isyarat penutupan dan menguruskan sumber dengan betul. ApplicationStartedEvent
application.properties
application.yml
Ia menguruskan fail konfigurasi () dan tetapan khusus untuk persekitaran.
@Profile
kesan sebenar konteks aplikasi yang betul AnnotationConfigServletWebServerApplicationContext
, ia membimbing Tomcat/Jeti. @RestController
tidak akan berfungsi). DispatcherServlet
方面 | Application Context 的影响 |
---|---|
Bean 管理 | 初始化和管理依赖项 (`@Autowired`) |
Web 服务器 | 启动嵌入式 Tomcat/Jetty(如果为 Web 上下文) |
自动配置 | 根据类路径应用自动配置 |
生命周期管理 | 处理启动/关机事件 |
配置文件和环境 | 加载属性,管理配置文件 (`@Profile`) |
依赖注入范围 | 确定哪些 Bean 和控制器可用 |
AnnotationConfigServletWebServerApplicationContext
Pastikan suntikan ketergantungan yang betul, konfigurasi automatik dan pengurusan kitaran hayat. ?
Atas ialah kandungan terperinci Spring-: How-Spring-Boot-Determines-Application-Context. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!