试试基础的Spring Boot的面试题?(第一波)

试试基础的Spring Boot的面试题?(第一波)

每天叫醒你的不是闹钟,而是姿势

01

什么是springboot

官网介绍

Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring. Spring Boot takes an opinionated view of building production-ready applications.

springboot通过自动配置和启动项来让开发者更快构建一个项目,解决了spring与其他框架整合需要配置大量的参数,目的就是简化新Spring应用的初始搭建以及开发过程,即"约定大于配置"

02

为什么要用springboot

  1. 因为在spring的项目中, 本身就需要XML配置文件,而在整合第三框架的时候,还需要更多的配置文件,很容易出错以及冲突,这样容易造成开发的效率低

  2. springboot,快速整合第三方框架, 无需配置文件

  3. 代码变少,配置文件变少,节约开发成本

  4. 内部集成了tomcat

  5. 最后 更多的时间用于开发业务,而不是在配置文件上

03

springboot的核心注解,由什么注解组成

@SpringBootApplication

试试基础的Spring Boot的面试题?(第一波)

该注解由3个重要注解组成

3.1 @ComponentScan

我们都知道使用spring的时候,有四大注解:

@Controller、@Service、@Repository、@Compoent,而@ComponentScan的作用则是用来扫描被四大注解所标识的类,然后生成bean放到ioc容器中,一般我们通过使用该注解的basePackages属性来确定扫描范围该属性的值为package名称。

[email protected]

springboot实现自动配置的核心注解,通过该注解,把spring应用所需的bean注入ioc容器中,该注解源码通过@Import注解注入了一个ImportSelector的实现类AutoConfigurationImportSelector,该类源码中通过selectImports方法完成动态加载(具体如何加载请深入研究)

[email protected]

该注解的作用与@Configuration注解作用相同,用来声明当前类是一个配置类,即我们使用spring时用的xml配置。与之对应的还有@Bean注解,该注解为创建一个bean到IOC容器中管理。

04

如何理解springboot中的starters

在使用spring开发的时候,如何需要整合第三方框架比如JPA框架的时候,我们需要JDBC的jar包,JPA的jar包,以及配置信息,而在springboot中,我们可以直接引入一个JPA对应的starters,则全部都省去了,该依赖已经为我们添加了使用JPA可能所需要的依赖,包括了aop, transaction,jdbc...........

谢谢阅读