SpringBoot学习相关面试题

23 篇文章 2 订阅
19 篇文章 0 订阅

SpringBoot快速开发框架

什么是SpringBoot

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

 

为什么要用SpringBoot

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

 

SpringBoot启动方式

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

 

SpringBoot与SpringMVC 区别

SpringMVC是SpringBoot的Web开发框架

 

SpringBoot与SpringCloud 区别

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

 

SpringBoot中用那些注解

@EnableAutoConfiguration作用

自动扫描并添加jar包依赖

@SpringBootApplication原理

是一个组合注解,相当于@EnableAutoConfiguration和@ComponentScan

 

SpringBoot热部署使用什么?

devtools

 

热部署原理是什么?

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

 

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

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

 

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

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

 

SpringBoot如何实现异步执行

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

 

SpringBoot多数据源拆分的思路

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

 

SpringBoot多数据源事务如何管理

第一种方式是在service层的@TransactionManager中使用transactionManager指定DataSourceConfig中配置的事务

第二种是使用jta-atomikos实现分布式事务管理

 

SpringBoot如何实现打包

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

 

SpringBoot性能如何优化

如果项目比较大,类比较多,不使用@SpringBootApplication,采用@Compoment指定扫包范围

在项目启动时设置JVM初始内存和最大内存相同

将springboot内置服务器由tomcat设置为undertow

 

SpringBoot执行流程

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

 

SpringBoot底层实现原理

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

 

SpringBoot装配Bean的原理

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

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值