前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java面试题 --- Spring②

java面试题 --- Spring②

作者头像
贪挽懒月
发布2022-09-02 18:18:49
2130
发布2022-09-02 18:18:49
举报
文章被收录于专栏:JavaEEJavaEE

1. SpringBoot 有哪些优点?

  • 简单轻量,远离繁琐配置,开箱即用;
  • 提供了大量的 starter,不用导入大量的 maven 依赖,不用担心版本问题。

2. SpringBoot 的核心注解是什么?

  • @SpringBootApplication 是 SpringBoot 的核心注解,这个注解其实是一个是组合注解,它由 @ComponentScan、@Configuration 和 @EnableAutoConfiguration 三个注解构成。@ComponentScan 是用来做 Spring 组件扫描的,即被扫描到的就会被 Spring 管理;@Configuration 是用来实现配置文件的功能;@EnableAutoConfiguration 是来实现自动配置功能的。

3. 什么是 Java config?

  • java config 就是用纯 java 的方式来实现配置文件的功能。

4. 说一说 SpringBoot 自动装配的原理。

  • SpringBoot 自动装配的核心就是 @EnableAutoConfiguration 注解,它会扫描 META-INF/spring.factotires 文件中配置的需要进行自动装配的类名,然后根据类名,找到这些类对应的 properties.java 类,读取属性进行配置,然后加入到 IOC 容器中,这就完成了自动配置。

5. SpringBoot 配置文件有哪些格式?

  • .properties 和 .yml。

6. SpringBoot 可以用 xml 配置吗?

  • 可以,通过 @ImportResource 注解就可以导入自定义的配置,但是 Spring 不推荐 xml 配置,推荐用 java config。

7. bootstrap.properties 和 application.properties 有什么区别?

  • bootstrap.properties 先加载,一般用于从配置中心拉取配置。

8. SpringBoot 项目如何分环境开发?

  • 不同的环境用不同的配置文件,比如开发用 dev,测试用 test,然后在 application.properties 中通过 spring.profile = dev就可以指定用哪个环境的配置文件。

9. 你在项目中是如何解决跨域问题的?

  • 通过 cors 来解决跨域问题,新建配置类实现 WebMvcConfigurer 接口,重写其 addCorsMappings 方法。也可以新建 CorsConfig 配置类,配置 CorsFilter 对象。

10. 什么是 SpringBoot starter?

  • 一站式配置,聚合了一组依赖的 maven 依赖,比如要创建 spring web 项目,只需要引入 spring-boot-web-starter 即可,它会自动引入所需的依赖并且处理好依赖关系。

11. 简单介绍下 SpringCloud。

  • SpringCloud 是一个生态,囊括了一系列的技术,包括注册中心,服务调用,服务熔断降级,服务配置中心,服务网关,消息总线,消息驱动,服务调用链路追踪等。

12. SpringCloud 服务之间是怎么调用的?

  • 通过 open feign 调用,底层其实是 http 调用。

13. 服务网关你们用来做什么?

  • 统一对外的 API,同时也可以保护内部的 API,所有的请求进来先到网关,在这里做了权限控制,身份校验,幂等校验之后再进行流量转发。

14. 你们的幂等校验是怎么做的?

  • 拦截所有非 get 请求,将请求的参数以及地址拼接成一个 key,然后去 Redis 中查询该 key 是否有值,如果有就直接返回 Redis 中的结果,如果没有,就将该请求转发到对应的服务中,将操作结果放到 Redis 中。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档