← 返回首页
Springboot高频面试题(二)
发表时间:2022-08-24 14:11:53
Springboot高频面试题(二)

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的数量,增加可读性和可维护性。

配置大于编码:编码仅仅是根据配置,完成具体的模块或者功能。