1.SpringBoot支持哪些日志框架?推荐和默认的日志框架是哪个?
SpringBoot支持 Java Util Logging, Log4j2, Logback 作为日志框架,如果使用Starters 启动器,SpringBoot使用Logback作为默认日志框架,推荐的日志框架是Log4j2。
2.SpringBoot常用的缓存注解有哪些?
3.Springboot如何使用异步方法?
在SpringBoot中使用异步调用是很简单的,只需要在方法上使用@Async注解即可实现方法的异步调用。 注意:需要在启动类加入@EnableAsync使异步调用@Async注解生效。
4.SpringBoot如何使用事务?
SpringBoot的事务很简单,首先在启动类上使用注解EnableTransactionManagement开启事务之后,然后在Service方法上添加注解Transactional即可。
5.SpringBoot有哪几种读取配置的方式?
SpringBoot可以通过 @PropertySource,@Value,@Environment, @ConfifigurationPropertie注解来绑定变量。
6.SpringBoot如何指定运行环境?
1)在application.yml中指定运行环境。 application-dev.yml
#开发环境的配置文档
server:
port: 8080
application-pro.yml
#生产环境的配置文档
server:
port: 8888
application.yml
spring:
profiles:
active:
- dev #表示现在要激活开发环境的配置文档
2)使用@Profile注解
@Configuration
@Profile("prod")
public class ProductionConfiguration {
// ...
}
7.Mybatis与Spring Data Jpa的区别。
8.Springboot默认使用的是哪款数据库连接池?
SpringBoot默认数据库连接池Hikari ,Hikari是一款非常强大,高效,并且号称“史上最快连接池”。由于其性能方面比较好,并且在springboot2.0之后,采用的默认数据库连接池就是Hikari,在引用parents后不用专门再添加Hikari的依赖。
9.Springboot如何做接口测试?
1)如果是测试服务层接口,推荐使用junit。在测试类上使用以下注解即可。 - @RunWith(SpringRunner.class) - @SpringBootTest - @Test
2)如果测试Controller接口,可以使用专业的接口测试工具如:Postman,或者swagger插件。
10.什么是约定大于配置,配置大于编码?
约定:就是大家事先约定好的规则,谁也不能破坏。比如:maven的目录结构你不能改,改了就错了,这是大家约定好的。
配置:就是项目各种xml,json等配置文件。
约定大于配置就是:先做该做的事情,再做想做的事情。从广义上讲,咱们平时要遵循的各种编程规范,都属于约定。再在比如,每个公司都会有自己的开发规范,开发者按照开发规范编程才可以在一定程度上减少Bug的数量,增加可读性和可维护性。
配置大于编码:编码仅仅是根据配置,完成具体的模块或者功能。