7.SpringBoot面试题
7.SpringBoot面试题1. SpringBoot自动配置原理是什么2.开启SpringBoot特性有哪几种方式3.SpringBoot如何解决跨域问题4.SpringBoot如何整合Mybatis5.SpringBoot怎么实现多环境配置6.SpringBoot的核心注解有哪些7.SpringBoot中静态首页或者静态资源默认位置可以放在哪里8.SpringBoot的核心配置文件有哪几个他们的区别是什么9.SpringBoot的优点有哪些1. SpringBoot自动配置原理是什么SpringBoot的项目启动注解是SpringBootApplication,其实就是由下面三个注解组成的SpringBootConfigurationEnableAutoConfigurationComponentScan其中EnableAutoConfiguration是实现自动配置的入口该注解又通过Import注解导入了AutoConfigurationImportSelector,该类会加载META-INF/spring.factories的配置信息。然后根据Condition条件来筛选出有效的自动配置类。每一个自动配置类结合对应的xxxProperties.java读取配置文件进行自动配置功能。2.开启SpringBoot特性有哪几种方式有以下两种方式继承spring-boot-starter-parent项目parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.5.4/version/parent导入spring-boot-dependencies项目依赖dependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion2.2.1.RELEASE/versiontypepom/typescopeimport/scope/dependencydependencies/dependencyManagement3.SpringBoot如何解决跨域问题方法一:使用CrossOrigin注解在Spring Boot 中给我们提供了一个注解 CrossOrigin 来实现跨域这个注解可以实现方法级别的细粒度的跨域控制。我们可以在类或者方法添加该注解如果在类上添加该注解该类下的所有接口都可以通过跨域访问如果在方法上添加注解那么仅仅只限于加注解的方法可以访问。RestControllerCrossOriginpublicclassCategoryController{AutowiredprivateCategoryMappercategoryMapper;RequestMapping(/category)publicListCategoryfindAll(){returncategoryMapper.selectAll();}}方法二:实现WebMvcConfigurer这种解决方案并非 Spring Boot 特有的在传统的 SSM 框架中就可以通过 CORS 来解决跨域问题只不过之前我们是在 XML 文件中配置 CORS 现在可以通过实现WebMvcConfigurer接口然后重写addCorsMappings方法解决跨域问题。ConfigurationpublicclassMyWebConfigurerimplementsWebMvcConfigurer{OverridepublicvoidaddCorsMappings(CorsRegistryregistry){registry.addMapping(/**).allowedMethods(*)//支持所有请求方法跨域.allowedHeaders(*)//支持所有请求头跨域.allowCredentials(true)//跨域请求可以包含cookie.allowedOriginPatterns(*)//允许任何域名使用,低版本Springboot用allowedOrigins()方法.maxAge(3600*24);}}addMapping配置可以被跨域的路径可以任意配置可以具体到直接请求路径。allowedOriginPatterns允许所有的请求域名访问我们的跨域资源可以固定单条或者多条内容如“http://www.baidu.com”只有百度可以访问我们的跨域资源。低版本springboot需要使用allowedOriginsallowCredentials 跨域请求是否允许包含Cookie。allowedMethods允许输入参数的请求方法访问该跨域资源服务器如POST、GET、PUT、OPTIONS、DELETE等。allowedHeaders允许所有的请求header访问可以自定义设置任意请求头信息如“X-YAUTH-TOKEN”。maxAge配置预检请求的有效时间以秒为单位。默认设置为1800秒30分钟。方法三:使用CorsFilter过滤器ConfigurationpublicclassCorsConfig{BeanpublicCorsFiltercorsFilter(){CorsConfigurationcorsConfigurationnewCorsConfiguration();corsConfiguration.addAllowedHeader(*);corsConfiguration.addAllowedMethod(*);corsConfiguration.addAllowedOriginPattern(*);corsConfiguration.setAllowCredentials(true);UrlBasedCorsConfigurationSourcesourcenewUrlBasedCorsConfigurationSource();source.registerCorsConfiguration(/**,corsConfiguration);returnnewCorsFilter(source);}}4.SpringBoot如何整合Mybatis导入Mybatis和数据库驱动的依赖dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.2.0/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdscoperuntime/scope/dependencyapplication.properties配置数据源和mapper.xml文件的映射路径spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driverspring.datasource.urljdbc:mysql://8.140.19.47:3306/gulimall_pms?useSSLfalseserverTimezoneGMT%2B8 spring.datasource.usernameroot spring.datasource.passwordroot mybatis.mapper-locationsclasspath:mapper/*.xml主启动类添加MapperScan注解添加mapper接口的扫描路径SpringBootApplicationMapperScan(com.springboot.springbootdemo.dao)publicclassSpringbootdemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(SpringbootdemoApplication.class,args);}}5.SpringBoot怎么实现多环境配置profile是用来完成不同环境下配置动态切换功能的多profile文件方式提供多个配置文件每个代表一种环境。application-dev.properties/yml 开发环境application-test.properties/yml 测试环境application-pro.properties/yml 生产环境profile激活方式配置文件spring.profiles.activedev6.SpringBoot的核心注解有哪些启动类上面的注解SpringBootApplication是SpringBoot的核心注解主要包含3个注解(1)SpringBootConfiguration(里面还包含一个Configuration),表示当前类为SpringBoot配置类(2)EnableAutoConfiguration:开启自动配置的功能可以单独关闭某些资源的自动配置(3)ComponentScan:扫描组件的功能默认是扫描主启动类所在包以及子包的所有组件。7.SpringBoot中静态首页或者静态资源默认位置可以放在哪里classpath: resources/index.htmlclasspath: static/index.htmlclasspath: public/index.htmlclasspath: META-INF/resources/index.html优先级 META-INF/resources/resources/static/public/8.SpringBoot的核心配置文件有哪几个他们的区别是什么SpringBoot的核心配置文件是application和bootstrap配置文件。application配置文件这个容易理解主要用于Spring Boot项目的自动化配置。bootstrap里面的属性会优先加载它们默认也不能被本地相同配置覆盖。bootstrap配置文件有以下几个应用场景使用Spring Cloud Config配置中心时这时需要在bootstrap配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息一些固定的不能被覆盖的属性一些加密/解密的场景9.SpringBoot的优点有哪些SpringBoot 主要有这几个优点第一约定大于配置自动装配根据 classpath 下的 jar 自动装配 Bean省去 Spring 大量 XML 配置。第二提供 Starter 启动器做依赖版本管理减少版本冲突引入组件更加方便。第三内置 web 容器可以直接打成可执行 jarjava‑jar 直接运行部署简单适配容器化 CI/CD。第四支持多环境 profile 配置配置外部化方便区分开发、测试、生产环境。第五提供 Actuator 监控组件方便线上运维监控同时完全兼容整个 Spring 生态能够很好对接 SpringCloud、Dubbo 微服务。

相关新闻

归纳推理法-理解C语言的指针

归纳推理法-理解C语言的指针

如果想改变一个变量的值,可以使用赋值语句改变其原有的值,如果改变这个变量的语句比较多的话,写在一个原有的作用域里面显得有些累赘且思路模糊,使用函数调用可以解决上面的问题,函数调用可以让变量的修改意图更加明显…

2026/10/11 4:02:56 阅读更多 →
STM32CubeMx + makefile --- 文件系统 fatfs

STM32CubeMx + makefile --- 文件系统 fatfs

STM32CubeMx makefile — 文件系统fatfs 源码仓库: 码云仓库 文章目录STM32CubeMx makefile --- 文件系统fatfs[toc]环境添加串口打印printfSTM32CubeMX 配置配置 SDMMC配置 FATFS时钟配置设置栈空间生成 makefile 项目修改代码编译 (略)烧录 (略)运行环境 工具版本说明开发…

2026/10/11 4:02:56 阅读更多 →
光储直柔:从刚性消费到柔性电网节点的建筑配电革命

光储直柔:从刚性消费到柔性电网节点的建筑配电革命

从“抽水马桶”变成“蓄水池”,这句话是我这两年和建筑业主聊配电改造时,最常用的一句类比。过去建筑用电是典型的刚性消费:光伏发多少、电网供多少,楼里就用多少,用不完的就浪费,不够了就向电网要&#xf…

2026/10/11 4:01:56 阅读更多 →

最新新闻

AI应用架构设计:图解动态能力组合与落地避坑指南

AI应用架构设计:图解动态能力组合与落地避坑指南

1. 这不是画PPT,是给AI系统搭骨架“图解AI应用架构设计”这六个字,乍看像培训课件标题,实则藏着当前一线AI落地最常踩的深坑——很多人花三个月调出一个98%准确率的模型,上线后却卡在日均处理200条请求就超时;也有人把…

2026/10/11 4:49:23 阅读更多 →
HIL-SERL:通过人机协作强化学习实现精确灵巧的机器人操作

HIL-SERL:通过人机协作强化学习实现精确灵巧的机器人操作

目录 1.仓库核心架构 1.1 整体方法:HIL-SERL 1.2 系统架构 1.3 代码结构 2.复现过程 2.1 硬件 2.2 环境搭建 基于UR5e真机部署的源码 SERL:RL+Vision+Touch实现搜孔和插拔 传统力控搜孔插孔:预先规划好移动的轨迹,这个规划的轨迹会覆盖搜孔区域,实际搜孔的过程中,需要紧贴…

2026/10/11 4:49:23 阅读更多 →
claude-mem:给Claude加装长期记忆,终结AI对话失忆

claude-mem:给Claude加装长期记忆,终结AI对话失忆

先别急着往下看,我问你一个场景:你天天在终端里和 Claude 聊需求、调代码、捋思路,是不是每次新开一个会话,它都像第一次见你一样,把你之前说过的技术栈、项目结构、踩过的坑全忘得干干净净?你只能一遍遍复…

2026/10/11 4:49:23 阅读更多 →
AI导出鸭:解决大模型内容到正式文档的语义转换难题

AI导出鸭:解决大模型内容到正式文档的语义转换难题

1. 为什么“导出”成了AI落地最卡脖子的环节“我让AI写完了一份市场分析初稿,但卡在最后一步——怎么把它变成一份能发给客户的PDF?”“模型输出的内容逻辑很顺,可一粘贴到Word里格式全乱了,标题变正文、列表缩进错位、代码块直接…

2026/10/11 4:49:23 阅读更多 →
研发制造企业SRM选型:项目化管控是隐形刚需

研发制造企业SRM选型:项目化管控是隐形刚需

做企业采购数字化这块时间久了,看系统选型会有个条件反射:一听到对方说“我们要上一套SRM”,我第一反应不是问版本、问价格,而是先弄清楚这家企业是“管采购”还是“管供应链”。如果是研发制造型企业,我会再加一问&am…

2026/10/11 4:49:23 阅读更多 →
动力电池分类全解析:从材料体系到选型原则

动力电池分类全解析:从材料体系到选型原则

目录一、动力电池整体分类维度二、按电化学材料体系分类三、按电芯结构形态分类四、按功率特性分类五、按封装集成层级分类六、国标官方电池分类体系七、消费电池、储能电池、动力电池工况对比八、动力电池选型基本原则九、本节核心知识点小结一、动力电池整体分类维度动力电池…

2026/10/11 4:48:23 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →