首页 > 其他分享 >SpringBoot面试题

SpringBoot面试题

时间:2022-11-27 20:00:26浏览次数:35  
标签:面试题 SpringBoot Tomcat Spring 配置 jar Bean

1 SpringBoot启动Tomcat

1.1 Spring在启动时创建一个Spring容器
1.2 利用@ConditionalOnClass技术判断classpath中是否存丰Tomcat依赖,如果存在则生成一个启动Tomcat的Bean
1.3 Spring容器创建完后,就会获取启动Tomcat的Bean,并创建Tomcat对象,绑定端口,启动Tomcat

2 SpringBoot核心注解

2.1 Spring3已经包含以下注解@Configuration,@Bean,@Import
2.2 SpringBoot注解
@SpringBootApplication  - SpringBoot启动注解
@SpringBootConfiguration - 标注这个类是一个配置类
@EnableAutoConfiguration - 向Spring容器中导入一个Selector,用来加载ClassPath下的SpringFatories中所定义的自动配置类,将这些自动加载为配置Bean
@ComponentScan - 标识扫描路径
@Conditional - 作用是按照一定的条件进行判断,满足条件给容器注册Bean
@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了.@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析
https://blog.51cto.com/u_15491409/5103442

3 为什么SpringBoot的jar可以直接运行

3.1 部署springboot插件,才可以正常运行java -jar xxx.jar - spring-boot-maven-plugin
3.2 加了这个插件后,生成一个Fat jar(jar包含jar),包含了所有依赖的jar
3.3 java -jar会在jar中找到mainfest文件->启动Main函数JarLauncher->创建一个ClassLoader来加载boot-lib下面的jar,并以一个新线程启动Main函数(Start-Class)

4 配置一个简单SpringMVC

4.1 创建一个spring.xml,配置controller类和service类(Bean)
4.2 将spring.xml配置在web.xml里的DispatherServlet
4.3 将准备好web.xml放在WEB-INF文件里面让Tomcat启动加载->创建DispatherServlet->创建 Spring容器(AppliactionContext)—>创建Bean(生命周期)
4.4 解析web.xml ->listener->servlet

5 SpringBoot自动配置原理

5.1 自动配置类由各个starter提供,使用@Configuration+@Bean定义配置类,放在META-INF/spring.factories下,使用Spring spi扫描META-INF/spring.factories下的配置类,使用@Import导入自动配置类

 

标签:面试题,SpringBoot,Tomcat,Spring,配置,jar,Bean
From: https://www.cnblogs.com/ningshare/p/16930473.html

相关文章

  • 什么是SpringBoot
           ......
  • 面试题系列:MQ 夺命连环11问
      1.你们为什么使用mq?具体的使用场景是什么? mq的作用很简单,削峰填谷。以电商交易下单的场景来说,正向交易的过程可能涉及到创建订单、扣减库存、扣减活动预算、扣......
  • Linux面试题3:Linux零拷贝技术
    zero-copy技术Linux网络IO数据传输过程图整个操作过程中,做了四次用户态和内核态的状态切换,数据从网卡copy到内核缓冲区,再从内核缓冲区copy到user-space;写入时从user-spa......
  • 【Java】Springboot 实现数据脱敏
     实现效果:1、脱敏注解在模型类进行标记packagecn.cloud9.server.test.model;importcn.cloud9.server.struct.masking.annotation.MaskingField;importcn.cloud9......
  • 宝宝精刷题笔记 面试题 02.05. 链表求和
    题目描述给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例1:输入......
  • 【面试题】 面试官为啥总是喜欢问前端路由实现方式?
    背景从事前端开发的同学,在实际工作中,一定会接触过路由这个概念,同时在面试的过程中,经常会被问及关于前端路由的实现方式,面试官到底想考察什么?在现在SPA单页面模式盛行,前后端......
  • 微服务SpringBoot 整合Redis 实现点赞、点赞排行榜
    文章目录​​⛅引言​​​​一、发布探店笔记​​​​二、查看探店笔记​​​​三、SpringBoot整合Redis实现点赞功能​​​​四、SpringBoot整合Redis实现点赞排行......
  • springboot集合efk搭建日志平台
    springboot继承efk实现日志收集1.安装es和kibana我使用的云服务器centos7,2核+4G内存,跑起来内存使用率50%左右建议使用最低配置和我一样,1+2的配置kibana应该跑不起来,......
  • SpringBoot源码-00-环境
    一源码附上带注释的源码分支my-study-3.0.1二编译环境版本Spring-Boot3.0.1OSmacOS11.5.2Java17.0.1Gradle7.4.2IDEA2022.2.1三文件......
  • SpringBoot(三):全局配置文件以及yaml语法
    一、SpringBoot配置文件1.什么是SpringBoot配置文件  在SpringBoot项目中,资源文件夹下会有一个叫做application.properties的文件,这就是SpringBoot的配置文件。2.Sp......