目录
四、SpringBoot支持哪些日志框架?推荐和默认的日志框架是哪一个?
五、SpringBoot 1.X与SpringBoot 2.X的区别
一、什么是SpringBoot?
SpringBoot是由Pivotal团队提供的一种微服务全新的框架,延续了Spring的两大核心IOC(控制反转)和AOP(面向切面)的思想,旨
在用来简化Spring应用程序的创建以及开发的过程,并不是取代Spring。SpringBoot提供了一种快速使用Spring的方式,基于约定优于配
置的思想,减去了大量繁琐的xml配置,只需要使用一个配置文件(properties/yml/yaml)即可,可以让开发人员不必在配置与逻辑业务
之间进行思维的切换,全身心投入到逻辑业务的代码编写中。
二、为什么要使用SpringBoot?
快速开发、快速整合、配置简化以及内嵌了服务容器
二、SpringBoot有哪些特点?
-
易上手,为Spring的开发提供了一个更快、更加简单的开发框架;
-
自动配置:SpringBoot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个,该过程是SpringBoot自动完成的。
-
开箱即用,减去了大量繁琐的xml配置,只需要使用一个配置文件(properties/yaml/yml)即可。
-
提供了一系列大型的项目通用的非业务性功能,如:内嵌服务器、安全管理、运行数据监控、运行状况以及外部化配置等等。
-
简化代码,简化配置,使得部署变得简单等。
三、SpringBoot的核心注解是什么?由哪些注解组成?
SpringBoot的核心注解为启动类上的@SpringBootApplication注解,该注解主要由以下3个注解组成。
(1)@SpringBootConfiguration:组合了@Configuration注解,实现配置文件的功能。
(2)EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如:java关闭数据资源配置功能:@EnableAutoConfiguration = {DataSourceAutoConfiguration.class}
(3)@ComponentScan:Spring组件扫描
四、SpringBoot支持哪些日志框架?推荐和默认的日志框架是哪一个?
SpringBoot支持的日志框架有:Log4j、Log4j2、Lockback以及Java Util Logging等,其中推荐和默认的日志框架是Lockback,但是不管
是哪一种日志框架都支持将配置文件输出到控制层或文件之中。
五、SpringBoot 1.X与SpringBoot 2.X的区别
SpringBoot 2.X在SpringBoot 1.X的基础上,进行了配置变更、JDK版本升级、第三方类库升级、响应式Spring编程支持、HTTP/2支持配
置属性绑定以及更多的改进与加强。
六、SpringBoot实现热部署有哪几种方式?
热部署即可以不需要重新运行SpringBoot项目就可以实现操作后台代码自动更新到运行的项目中。热部署的实现主要有以下两种方式:
Spring Loaded 和Spring-boot-devtools
七、SpringBoot三层架构
-
SpringBoot的三层架构主要是:Controller(业务控制层)、Service(业务逻辑层)以及Dao(数据访问层)。
(2)各层架构的作用:
-
Controller层:业务处理层,主要是架起外界与Serice业务层之间沟通的桥梁,服务端,接收由前端发送的ajax请求,并调用Service层实现业务逻辑的处理,实际上,Controller层就是一个中间者的作用,为前端与业务层之间传递数据提供的一个媒介。
-
Service层:业务逻辑层,主要是各种业务功能的实现,如:基本的增删改查操作、登录注册、密码验证等等。
-
Dao层:数据访问层层,直接操作数据库,不直接被Controller调用,而是被Service层调用,增加了数据的安全性。
八、SpringBoot的优势
(1)开发方面:各种各样的Starter开箱即用,并且Starter的出现本质上大大颠覆了传统的JavaEE的代码复用的方式,只需要添加一个Maven依赖即可,其他的一些配置的东西Starter会自动去配置。
(2)配置方面:摒弃了大量繁琐的xml配置文件,所有的Bean都是自动配置、自动注入的。
(3)部署方面:SpringBoot本身内嵌了Tomcat容器,不需要在外部再重新配置Tomcat
九、SpringBoot Starter的工作原理
在SpringBoot启动时由@SpringBootApplication注解会自动去maven中读取每个starter中的spring.factories文件,该注解里配置了所有
需要被创建spring容器中的bean,并且进行自动配置把bean注入到SpringContext(Spring的配置文件)当中。
十、SpringBoot与SpringCloud的区别
SpringBoot是快速开发的Spring框架,SpringCloud则是完整的微服务框架,SpringCloud依赖于SpringBoot。