java springboot经典面试题分享,mybatis缓存机制面试

8.@PropertySource


加载指定的配置文件。如下,如果不声明的话,将从主配置文件加载。

java springboot经典面试题分享,mybatis缓存机制面试

9.@ImportResource


导入 Spring 的配置文件,让配置文件里面的内容生效;这种方式比如一个类没有使用 @Componet 注解注册进容器,则使用自动装配 autowired 找不到。引入文件后,即可找到。

Spring Boot 里面没有 Spring 的配置文件,我们自己编写的配置文件,也不能自动识别;

想让 Spring 的配置文件生效,加载进来; @**ImportResource** 标注在一个配置类上

java springboot经典面试题分享,mybatis缓存机制面试

10. springboot 的 profile 加载


在配置文件的时候,我们可以建立多个。用 - 进行结尾。通过主配置文件,配置 profiles 的 active 就可以指定加载文件。

在同一个文件中, yml 文件支持文档块的写法,为 — 。

java springboot经典面试题分享,mybatis缓存机制面试

11. SpringBoot 激活指定 profile 的几种方式


第一种:直接在配置文件中通过 active 指定

第二种:通过 java -jar 的参数指定

java springboot经典面试题分享,mybatis缓存机制面试

java springboot经典面试题分享,mybatis缓存机制面试

第三种:通过虚拟机参数

java springboot经典面试题分享,mybatis缓存机制面试

12. SpringBoot 项目内部配置文件加载顺序


顺序如下;

java springboot经典面试题分享,mybatis缓存机制面试

java springboot经典面试题分享,mybatis缓存机制面试

优先级由高到底,高优先级的配置会覆盖低优先级的配置;

SpringBoot 会从这四个位置全部加载主配置文件; ** 互补配置 ** ;

我们还可以通过 spring.config.location 来改变默认的配置文件位置

项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;指定配置文件和默认加载的这些配置文件共同起作用形成互补配置;

![](https://img-blog.csdnimg.

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

cn/img_convert/8f3f8c704cf4c999fdfac9b103f1119d.png)

13. SpringBoot 外部配置文件加载顺序


这个挺多的,我们就几个重要的。

高优先级的会覆盖低优先级的。

命令行上的参数配置是优先级最高的。

jar 包外的带 profile 的配置文件。

jar 包内的带 profile 的配置文件。

jar 包外的不带 profile 的配置文件。

jar 包内的不带 profile 的配置文件。

14. Springboot 日志关系


SpringBoot 默认使用的 slf4j+logback 。引入 logging-starter 就可以使用。能自动适配其他日志。只需要将日志里面的 commons-logging 移除。就会自动引入其他日志。

使用 LoggerFactory 可以获得 logger 。通过 logger 就可以记录日志。

日志的一些配置

logging.level.com.atguigu=trace 指定打印级别

logging.file=G:/springboot.log 指定日志生成路径

logging.path=/spring/log 指定日志生成相对路径

logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n 指定控制台输出格式

logging.pattern.file=%d{yyyy-MM-dd} === [%thread] === %-5level === %logger{50} ==== 指定文件中日志输出格式

15. SpringBoot 如何扩展 SpringMVC 的配置


通过建立自己的类继承 WebMvcConfigurerAdapter ,在类上面打上注解 @Configuration 。然后重写里面的方法即可。容器中的所有的 WebMvcConfigurer 会一起起作用。

java springboot经典面试题分享,mybatis缓存机制面试

如果我们不想使用 mvc 的自动配置,全部使用自己的。可以在配置类上增加注解 @EnableWebMvc 。这个注解可以导入一个 webmvcconfigurationsupport 的类。然后 mvc 的自动配置类上的注解有这么一句话,有一个条件注解,当没有上面那个类的时候,才生效。

16. SpringBoot 如何注册 filter , servlet , listener


编写好一个 servlet 后,声明一个类,返回 ServletRegistrationBean 。通过里面的方法将 servlet 包装一下返回。

java springboot经典面试题分享,mybatis缓存机制面试

java springboot经典面试题分享,mybatis缓存机制面试

编写一个 filter 。通过 FilterRegister 包装。

java springboot经典面试题分享,mybatis缓存机制面试

java springboot经典面试题分享,mybatis缓存机制面试

编写一个 listener ,实现注册 bean 。

java springboot经典面试题分享,mybatis缓存机制面试

17. SpringBoot 切换成 undertow


先排除掉 tomcat ,然后再引入 undertow 就行了。

java springboot经典面试题分享,mybatis缓存机制面试

18. SpringBoot 的任务


异步任务在启动类上,增加注解 @EnableAsync ,此时就开启了。然后对于异步的方法,打上注解 @Async 。

定时任务,在启动类上,打上注解 @EnableScheduling ,需要定时的方法使用 @Scheduled 注解。这里面分为秒,分,小时,日期,月份,星期。

java springboot经典面试题分享,mybatis缓存机制面试

上一篇:Jquery EasyUI修改行背景的两种方式


下一篇:java 日志框架详解