SpringBoot面试题

SpringBoot

1.什么是 Spring Boot,优缺点?

整合Spring技术栈的一站式框架,能快速创建出生产级别的Spring应用,用来简化Spring技术栈的快速开发脚手架,让开发人员更容易上手

优点:创建独立Spring应用,内嵌web服务器,自动配置,简化配置,无代码生成,无需编写XML,

缺点:迭代快,需要时刻关注变化,封装深,内部原理复杂,不容易理解

2. Spring Boot和Spring的区别?

3.组件添加注解

@Configuration(告诉SpringBoot这是一个配置类 == 配置文件)

Full(proxyBeanMethods = true)【保证每个@Bean方法被调用多少次返回的组件都是单实例的】

Lite(proxyBeanMethods = false)【每个@Bean方法被调用多少次返回的组件都是新创建的】

组件依赖必须使用Full模式默认。其他默认是否Lite模式

配置 类组件之间无依赖关系用Lite模式加速容器启动过程,减少判断

配置类组件之间有依赖关系,方法会被调用得到之前单实例组件,用Full模式

@Import

@Import({ 类名.class , 类名.class... })

@Import只能用在类上 ,@Import通过快速导入的方式实现把实例加入spring的IOC容器中

@Import注解可以用于导入第三方包 ,当然@Bean注解也可以,但是@Import注解快速导入的方式更加便捷

@ImportResource

@ImportResource("classpath:bean.xml")

用于引入xml中的Bean标签

@Component + @ConfigurationProperties

yml中配置 mycar.brand=xxx

在yml中,配置自定义组件属性值,对应组件类上使用@Component注解声明这是配置类,在使用@ConfigurationProperties(prefix = "mycar")获取yml自定义组件名称的属性

@EnableConfigurationProperties + @ConfigurationProperties

在配置类上使用注解@EnableConfigurationProperties(类名.class)将组件注册到容器中,@ConfigurationProperties(prefix "mycar")获取yml自定义组件名称的属性

4.自动配置原理

 

原文地址:https://www.cnblogs.com/kmcl1314/p/14523661.html