spring-boot-starter-web的作用

此项目是Springboot和SpringMVC整个的jar包,构建了web项目的基本环境,集成了log4j、tomcat、springmvc、json支持等等。

SpringBoot中如何读取配置

1.使用@Value注解,可以在使用的类里直接定义一个字段,在字段上打上@Value(“{xx.xx}”)读取配置中的参数,并赋值给该字段—适用于读取较少的参数情况

2.使用@ConfigurationProperties注解,可以直接定义一个类,交给spring管理,打上该注解@ConfigurationProperties(prefix = “xxx.xxx”) 在类中声明对应的成员变量 在需要调用的时候直接注入对象调用属性即可

3.Environment 读取配置文件参数

SpringBoot中日志的level有哪些

日志级别从低到高分别为:

TRACE < DEBUG <INFO <WARN < ERROR

如果设置为 WARN,则低于 WARN 的信息都不会输出

Spring中默认使用INFO级别输出到控制台

SpringBoot中如何管理事务

事务(transaction)是指业务逻辑上对数据库进行的一系列持久化操作,要么全部成功,要么全部失败。

在Springboot中,可以通过xml配置和注解配置

xml方式通过配置DataSourceTransactionManager和transactionManager实现

注解方式配置通过在主启动类上加上@EnableTransactionManagement开启事务管理器,在具体的实现层service类上加上@Transactional 实现事务

SpringBoot自动配置原理

在启动类上我们会打上: @SpringBootApplication 注解,它是一个组合标签,包括:

  • SpringBootConfuration ,本质是一个 Configuration ,代表Spring的配置类。
  • IOC自动扫描的注解 ,ComponentScan 会去扫描类上是否有:@Component ,@Respository ,@Service @Controller ,如果有,就会把这个类自动注册到Spring容器中。
  • EnableAutoConfiguration :就是启动SpringBoot自动配置的注解

在 @EnableAutoConfiguration 注解中,注册了一个选择器,其中有一个方法会去返回很多的自动配置的的全限定名,这些类会自动注册到Spring容器中

SpringBoot启动流程

1.开启秒表计时

2.starting监听器,

3.处理应用参数

4.加载环境对象

5.打印横幅

6.创建Spring容器对象:AnnotationConfigApplicationContext

7.容器刷新的前置工作

8.刷新容器 ,这里会执行spring的ioc属性容器的refrsh方法,Bean的加载,初始化等都在这个里面,Tomcat的启动也在这个方法里面。

9.刷新容器后置工作

10.秒表停止

11.started事件

12.调用runner

13.running.listeners.