个人随笔
目录
SpringBoot快速开发框架面试题目
2019-03-25 22:14:09

1、什么是SpringBoot

SpringBoot是快速开发的Spring框架,能够快速整合主流框架,简化xml配置,采用全注解化,内置Http服务器(如tomcat、jetty等),通过java部署运行。

2、为什么要用SpringBoot

快速开发,快速整合,配置简化、内嵌服务容器

3、SpringBoot启动方式

主类@SpringBootApplication注解或添加@ComponentScan@EnableAutoConfiguration注解,使用@SpringBootApplication注解自动扫描当前包

4、SpringBoot与SpringMVC 区别

SpringMVC是SpringBoot的Web开发框架

5、SpringBoot与SpringCloud 区别

SpringBoot是快速开发的Spring框架,SpringCloud是完整的微服务框架, SpringCloud依赖于SpringBoot。

6、SpringBoot中用那些注解

@EnableAutoConfiguration作用
自动扫描并添加jar包依赖
@SpringBootApplication原理
是一个组合注解,相当于@EnableAutoConfiguration@ComponentScan

7、SpringBoot热部署使用什么

devtools

8、热部署原理是什么

热部署的实现原理主要依赖java的类加载机制,在实现方式可以概括为在容器启动的时候起一条后台线程,定时的检测类文件的时间戳变化,如果类的时间戳变掉了,则重新加载整个应用的class文件,同时重启服务,重新部署。

9、热部署原理与热加载区别是什么

热加载是在运行时重新加载class文件,不会重启服务。

10、你们项目中异常是如何处理

在web项目中,使用全局捕获异常返回统一错误信息。

11、SpringBoot如何实现异步执行

在启动类添加@EnableAsync表示开启对异步任务的支持,在异步服务上添加@Async

12、SpringBoot多数据源拆分的思路

先在properties配置文件中配置两个数据源,创建分包mapper,使用@ConfigurationProperties读取properties中的配置,使用@MapperScan注册到对应的mapper包中

13、SpringBoot多数据源事务如何管理

第一种方式是在service层的@TransactionManager中使用transactionManager指定DataSourceConfig中配置的事务
第二种是使用jta-atomikos实现分布式事务管理

14、SpringBoot如何实现打包

进入项目目录在控制台输入mvn clean package,clean是清空已存在的项目包,package进行打包。

15、SpringBoot性能如何优化

如果项目比较大,类比较多,不使用@SpringBootApplication,采用@Compoment指定扫包范围在项目启动时设置JVM初始内存和最大内存相同
将springboot内置服务器由tomcat设置为undertow。

16、SpringBoot执行流程

使用SpringApplication.run()启动,在该方法所在类添加@SpringBootApplication注解,该注解由@EnableAutoConfiguration@ComponentScan等注解组成,@EnableAutoConfiguration自动加载SpringBoot配置和依赖包,默认使用@ComponentScan扫描当前包及子包中的所有类,将有spring注解的类交给spring容器管理。

17、SpringBoot底层实现原理

使用maven父子包依赖关系加载相关jar包,使用java操作Spring的初始化过程生成class文件,然后用java创建tomcat服务器加载这些class文件。

18、SpringBoot装配Bean的原理

通过@EnableAutoConfiguration自动获取配置类信息,使用反射实例化为spring类,然后加载到spring容器

 342

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2