Spring boot需要知道的点

一、为什么要用Spring boot

Spring Boot 优点非常多,如:

  1. 独立运行 Spring Boot 而且内嵌了各种 servlet 容器,Tomcat、Jetty 等,现在不再需要打成 war 包部署到 容器 中,Spring Boot 只要打成一个可执行的 jar 包就能独立运行,所有的依赖包都在一个 jar 包 内。
  2. 简化配置 spring-boot-starter-web 启动器自动依赖其他组件,减少了 maven 的配置。
  3. 自动配置 Spring Boot 能根据当前类路径下的类、jar 包来自动配置 bean,如添加一个 spring-boot-starter- web 启动器就能拥有 web 的功能,无需其他配置。
  4. 无代码生成和 XML 配置 Spring Boot 配置过程中无代码生成,也无需 XML 配置文件就能完成所有配置工作,这一切都是借助于条件注解完成的,这也是 Spring4.x 的核心功能之一。
  5. 应用监控 Spring Boot 提供一系列端点可以监控服务及应用,做健康检测。

二、 Spring boot的核心注解是哪个?它主要由哪几个注解组成 的?

启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含 了 以下 3 个注解:

  • @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
  • @EnableAutoConfiguration:打开自动配置的功能 也可以关闭某个自动配置的选项,如关闭数据源自动配置功能:@SpringBootApplication(exclude={DataSourceAutoConfiguration.class })。
  • @ComponentScan :Spring 组件扫描

三、运行Spring boot有哪几种方式?

  1. 打包用命令或者放到容器中运行
  2. 用 Maven/Gradle 插件运行
  3. 直接执行 main 方法运行

四、如何理解 Spring boot中的 starters?

Starters 可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包。如你想使用 Spring JPA访问数据库, 只要加入spring-boot-starter-data-jpa 启动器依赖就能使用了。Starters 包含了许多项目中需要用到的依赖,它们能快速持续地运行,都是一系列得到支持的管理传递性依赖。

Spring Boot 官方的启动器都是以 spring-boot-starter-命名的,代表了一个特定的应用类型。第三 方的启动器不能以 spring-boot 开头命名,它们都被 Spring Boot 官方保留。一般一个第三方的应该这样命名,像 mybatis 的 mybatis-spring-boot-starter。

五、如何在 Spring boot启动的时候运行一些特定的代码?

如果你想在 Spring Boot 启动的时候运行一些特定的代码,你可以实现接口 ApplicationRunner 或者 CommondLineRunner,这两个接口实现方式一样,它们都只提供了 一个 run 方法。

CommondLineRunner: 启动获取命令行参数

六、Spring boot需要独立的容器运行吗?

可以不需要,内置了 Tomcat/ Jetty 等容器

七、 Spring boot中的监视器是什么?

Spring boot actuator 是 spring 启动框架中的重要功能之一。Spring boot 监视器可帮助您访问生产 环境中正在运行的应用程序的当前状态。有几个指标必须在生产环境中进行检查和监控。即使一些 外部应用程序可能正在使用这些服务来向相关人员触发警报消息。监视器模块公开了一组可直接作 为HTTP URL 访问的 REST 端点来检查状态。

八、如何使用 Spring boot实现异常处理

Spring 提供了一种使用 @ControllerAdvice 处理异常的非常有用的方法。 我们通过实现一 个注解ControlerAdvice 类,来处理控制器类抛出的所有异常。

九、 Spring boot常用的starter有哪些

  • spring-boot-starter-web 嵌入 tomcat 和 web 开发需要 servlet 与 jsp 支持
  • spring-boot-starter-data-jpa 数据库支持
  • spring-boot-starter-data-redis redis 数据库支持
  • spring-boot-starter-data-solr solr 支持
  • mybatis-spring-boot-starter 第三方的 mybatis 集成 starter

十、 Spring boot实现热部署有哪几种方式?

主要有两种方式:Spring Loaded、Spring-boot-devtools

十一、如何理解 Spring boot配置加载顺序

1 )properties 文件; 2 )YAML 文件;  3)系统环境变量; 4)命令行参数

十二、 Spring boot的核心配置文件有哪几个?它们的区别是什么?

核心配置文件是 application 和 bootstrap 配置

application 配置文件这个容易理解,主要用于 Spring Boot 项目的自动化配

bootstrap 配置文件有以下几个应用场景。

  • 使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;
  • 一些固定的不能被覆盖的属性;
  • 一些加密/解密的场景;

十三、如何集成 Spring boot 和 ActiveMq?

对于集成 Spring Boot 和 ActiveMQ,我们使用 spring-boot-starter-activemq 依赖关系。 它只需 要很少的配置,并且不需要样板代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/36449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8个Unity开发高手都在用的秘密技巧!

1. 不要重新发明轮子,使用内置的引擎工具 在使用任何引擎时,比如Unity或Unreal Engine,一些开发者,主要是来自计算机科学领域的开发者,可能会倾向于从头开始开发大型算法或结构,而不去了解引擎中是否已经存…

我给我的学校写了个校园墙小程序

目录 前言 正文 事先声明 项目介绍 关于Github的一些点 ①贡献值的记录 ②Github中的Project是什么 ③Release和Package有什么区别 ④开源许可证之间的区别 尾声 🔭 Hi,I’m Pleasure1234🌱 I’m currently learning Vue.js,SpringBoot,Computer Securit…

2024.06.26【读书笔记】|医疗科技创新流程(注重价值与全球视角)【AI增强版】

目录 注重价值 (Focus on Value)价值的定义价值创造的重要性价值实现的挑战实践价值导向的策略 全球视角 (Global Perspectives)全球市场的变化地区分析中国经济与人口背景医疗保健体系市场机遇挑战与应对策略创新与本土化 全球战略考虑全球化带来的机遇与挑战 注重价值 (Focus…

vector的自实现(迭代器失效问题)与继承续讲

引子:在生活中,我们使用vector很频繁,我们是不是可以自己来实现一个呢?,其实也不难,我们在学过数据结构,就很easy啦! As we all kowmn,vector基础有以下函数! from my …

git 初基本使用-----------笔记(结合idea)

Git命令 下载git 打开Git官网(git-scm.com),根据自己电脑的操作系统选择相应的Git版本,点击“Download”。 基本的git命令使用 可以在项目文件下右击“Git Bash Here” ,也可以命令终端下cd到指定目录执行初始化命令…

YOLOv1 中的一些计算

YOLOv1 中的一些计算 位置参数计算 在训练过程中,需要分别计算真实框的位置参数 t x t_x tx​、 t y t_y ty​、 w w w、 h h h。 已知真实框的左上角点和右下角点坐标: g t [ x 1 , y 1 , x 2 , y 2 ] gt [x_1, y_1, x_2, y_2] gt[x1​,y1​,x2​…

vue elementui简易侧拉栏的使用

目的&#xff1a; 增加了侧拉栏&#xff0c;目的是可以选择多条数据展示数据 组件&#xff1a; celadon.vue <template><div class"LayoutMain"><el-aside :width"sidebarIsCollapse ? 180px : 0px" class"aside-wrap"><…

【机器学习】深度概率模型(DPM)原理和文本分类实践

1.引言 1.1.DPM模型简介 深度概率模型&#xff08;Deep Probabilistic Models&#xff09; 是结合了深度学习和概率论的一类模型。这类模型通过使用深度学习架构&#xff08;如神经网络&#xff09;来构建复杂的概率分布&#xff0c;从而能够处理不确定性并进行预测。深度概率…

Java是什么?Java三大平台是指什么?Java能做什么?

Java是什么&#xff1f; 在了解“什么是Java”之前&#xff0c;我们先来认识下什么是计算机语言 。计算机语言(Computer Language)是人与计算机之间通信的语言&#xff0c;它主要由一些指令组成&#xff0c;这些指令包括数字、符号和语法 等内容&#xff0c;程序员可以通过这些…

Linux通过expect实现免交互

免交互 Here Document 用于将多行字符串直接传递给命令的方式&#xff0c;不需要人为交互命令界面&#xff0c;实现免交互 当使用Here Document操作文件时&#xff0c;需要借助一个文件结束符 EOF&#xff1a;文件结束符 示例 在脚本文件中写入以下内容 <<&#x…

AFLNet入门教学——测试RTSP协议实现Live555(Ubuntu)

1、简介 本文旨在使用AFLNet对RTSP协议实现Live555进行模糊测试。实验环境为&#xff1a;Ubuntu22.04.4AFLNet安装参考&#xff1a;AFLNet入门教学——安装&#xff08;Ubuntu22.04.4&#xff09;-CSDN博客 2、安装Live555 本次实验采取的是live555在2018年8月28日上传的版本…

PHP 免费开源 cms 内容管理系统 (07flyCMS)

07FLYCMS 是什么&#xff0c;07FLYCMS 是一个自由和开放源码的内容管理系统&#xff0c;它是一个可以独立使用的内容发布系统。能够满足各类企业网站开发建设的需要。系统采用简单到想哭的模板标签&#xff0c;只要懂 HTML 就可快速开发企业网站&#xff0c;将致力于为广大开发…

nacos漏洞汇总

1 nacos介绍 1.1 nacos是啥 Alibaba Nacos是阿里巴巴推出来的一个新开源项目&#xff0c;是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。致力于帮助发现、配置和管理微服务。Nacos提供了一组简单易用的特性集&#xff0c;可以快速实现动态服务发现、服…

【Knowledge Graph Context-Enhanced Diversified Recommendation(MSDM2024)】

Knowledge Graph Context-Enhanced Diversified Recommendation 摘要 推荐系统&#xff08;RecSys&#xff09;领域已被广泛研究&#xff0c;以通过利用用户的历史交互来提高准确性。 尽管如此&#xff0c;这种对准确性的持续追求常常导致多样性的减少&#xff0c;最终导致众所…

全网最强MyBatisPlus教程 | 万字长文爆肝MyBatisPlus

MyBatisPlus 今日目标 基于MyBatisPlus完成标准Dao的增删改查功能 掌握MyBatisPlus中的分页及条件查询构建 掌握主键ID的生成策略 了解MyBatisPlus的代码生成器 1&#xff0c;MyBatisPlus入门案例与简介 这一节我们来学习下MyBatisPlus的入门案例与简介&#xff0c;这个和其他…

在线AI聊天对话机器人,答你所问!

随着AI人工智能技术的不断进步&#xff0c;AI聊天对话机器人已经成为我们日常生活中常用的工具。这些智能助手不仅能够提供信息查询、生活娱乐、学习辅导等服务&#xff0c;还能通过自然语言处理和机器学习技术理解用户的需求&#xff0c;提供个性化的回答和建议。下面小编就和…

选择第三方软件测试机构做验收测试的好处简析

企事业单位在自行开发完软件系统或委托软件开发公司生产软件之后&#xff0c;有一个必经流程就是验收测试&#xff0c;以验证该产品是否符合用户需求、是否可以上线。为了客观评估所委托生产的软件质量&#xff0c;第三方软件测试机构往往成为企事业单位做验收测试的首选&#…

如何有效降低云消息使用成本?涂鸦Pulsar云消息史诗级大更新来了!超级干货攻略快收藏

月末了&#xff0c;相信大家都会有信用卡额度超支的担忧&#xff0c;生怕一不留神就会超出预算&#xff0c;并且事后还需要仔细核对消费情况。类似的焦虑&#xff0c;也会出现在使用涂鸦 Pulsar 云消息服务时。虽然涂鸦 Pulsar 云消息能满足开发者对设备各类事件实时性和持久化…

ADI-DSP|在指定内存写入数据

一、LDF文件设置内存空间 user_data_test { TYPE(BW RAM) START(0x00380010) END(0x0039bfff) WIDTH(8) }//usr data dxe_user_data_bw BW{INPUT_SECTION_ALIGN(4)INPUT_SECTIONS( $OBJS_LIBS(user_data) )} > user_data_test 二、在C文件中设置数据 /************…

IOU 与 IOF

IOU 与 IOF IOU是指&#xff1a;重叠区域/联合区域的面积&#xff0c;也就是box1与box2的交集面积和并集面积的比例。 IOF是指&#xff1a;重叠区域/前景区域编辑&#xff0c;也就是box1与box2的交集面积和box1面积的比例。 参考资料&#xff1a;https://github.com/open-mm…