spring面试题笔记

SpringBoot 有几种读取配置文件的方式
1.@value
必须是bean里才能生效,,final或static无法生效

2@ConfigurationProperties注解
@ConfigurationProperties是springboot提供读取配置文件的一个注解

注意:
前缀定义了哪些外部属性将绑定到类的字段上
根据 Spring Boot 宽松的绑定规则,类的属性名称必须与外部属性的名称匹配
我们可以简单地用一个值初始化一个字段来定义一个默认值
类本身可以是包私有的
类的字段必须有公共 setter 方法
这个prefix 必须小写,不然会报错
spring面试题笔记_第1张图片
3
spring面试题笔记_第2张图片
4.获取外部配置文件
spring面试题笔记_第3张图片
5将流读取到Properties对象中spring面试题笔记_第4张图片
跨域解决
1
spring面试题笔记_第5张图片
2
spring面试题笔记_第6张图片
SpringBoot项目启动慢,如何优化springboot的启动速度 ?
spring面试题笔记_第7张图片
spring面试题笔记_第8张图片
spring面试题笔记_第9张图片
spring面试题笔记_第10张图片
spring面试题笔记_第11张图片

spring面试题笔记_第12张图片
spring面试题笔记_第13张图片
SpringBoot的默认日志实现框架是什么?怎么切换成别的?
springboot默认使用logback作为日志记录框架,常见的日志记录框架有log4j、logback、log4j2。这篇文章我们来学习怎样将logbak替换为log4j2。
一、为什么使用log4j2?
我们在项目中经常使用一个叫SLF4J的依赖,它是做什么的呢?

slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,它的接口并不能独立使用,需要和具体的日志框架实现配合使用(如log4j、logback、log4j2)。
log4j2使用了两种方式记录日志:AsyncAppender和AsyncLogger,上面我们的配置采用了AsyncLogger,性能最佳。
1、AsyncAppender使用队列异步记录日志,但是一旦队列已满,appender线程需要等待。
2、AsyncLogger是采用Disruptor,通过环形队列无阻塞队列作为缓冲,多生产者多线程的竞争是通过CAS实现,无锁化实现,可以降低极端大的日志量时候的延迟尖峰,Disruptor 可是号称一个线程里每秒处理600万订单的高性能队列。

spring面试题笔记_第14张图片

你可能感兴趣的:(spring,笔记,java)