Spring Boot启动流程的面试题
时间: 2023-11-29 17:31:34 浏览: 39
Spring Boot启动流程是面试中经常被问到的问题之一,以下是简单的回答:
1. Spring Boot启动时,会先加载SpringApplication类,然后创建一个SpringApplication对象。
2. SpringApplication对象会从classpath中查找并加载所有符合条件的@Configuration配置类,并把它们作为Spring应用上下文的配置。
3. SpringApplication对象会创建一个Spring应用上下文,并把所有的@Configuration配置类注册到该上下文中。
4. SpringApplication对象会查找Spring应用上下文中所有的ApplicationRunner和CommandLineRunner接口的实现类,然后按照一定的顺序依次执行它们的run()方法。
5. SpringApplication对象会启动Spring应用上下文,并启动嵌入式的Tomcat服务器。
6. Spring Boot应用启动完成后,会打印出一些基本信息,如Tomcat端口号等。
这只是Spring Boot启动流程的一个简单描述,实际上还有很多细节和复杂性。在面试中,可以进一步探讨每个步骤的具体实现细节以及可能的问题和解决方案。
相关问题
spring boot 启动流程面试题答案
Spring Boot启动流程可以大致分为以下几个步骤:
1. 加载并启动SpringApplication
SpringApplication类是Spring Boot的启动类,它会加载并启动Spring应用。它通过调用静态方法run(Class<?> primarySource, String... args)来启动应用,其中primarySource代表主配置类,args代表命令行参数。
2. 加载配置文件
在启动Spring应用之前,SpringApplication会加载配置文件,包括application.properties和application.yml等文件。这些配置文件中的属性将被解析并存储在Spring环境变量中,可以通过@Value注解或@ConfigurationProperties注解来访问它们。
3. 创建并启动Spring容器
在加载完配置文件后,SpringApplication会创建并启动Spring容器,该容器包含了所有的Spring Bean。Spring Boot会根据主配置类中的注解来扫描和装配Bean,比如@ComponentScan、@EnableAutoConfiguration和@Configuration等。
4. 运行Spring应用
一旦Spring容器启动成功,Spring Boot就会运行Spring应用。如果有Web应用,则会通过嵌入式Web服务器(如Tomcat、Jetty等)来启动Web应用。如果没有Web应用,则Spring Boot会执行一些其他的操作,并在最后退出应用。
总的来说,Spring Boot的启动流程可以概括为加载配置、创建Spring容器、装配Bean和运行应用。
spring springmvc spring boot的面试题
下面是关于 Spring、Spring MVC 和 Spring Boot 的一些常见面试题:
1. Spring 是什么?它的核心特点是什么?
2. Spring MVC 是什么?它与 Spring 框架有什么关系?
3. Spring Boot 是什么?它与传统的 Spring 框架有什么区别?
4. 请解释一下控制反转(IoC)和依赖注入(DI)在 Spring 中的概念和作用。
5. 什么是 AOP(面向切面编程)?Spring 如何支持 AOP?
6. 在 Spring 中,Bean 是什么?有哪些不同的作用域?
7. 如何配置 Spring 的事务管理?请解释一下事务传播行为。
8. Spring MVC 中的前端控制器是什么?它的作用是什么?
9. Spring Boot 中如何配置和定制化自己的 Starter?
10. Spring Security 是什么?它在应用程序中的作用是什么?
这些问题涵盖了 Spring、Spring MVC 和 Spring Boot 的基本概念和常见用法。当然,根据面试官的要求可能还会有其他更具体的问题。希望这些问题能对你有所帮助!