Spring Boot 进阶- Spring Boot入门程序详解

news2024/9/25 14:12:16

在这里插入图片描述
  在上篇文章中,我们创建了一个RESTFul风格的接口项目,并且分析了它的相关依赖,这里我们就来看一下这个项目还有什么值得我们分析的地方。前面提到的,在SpringBoot的场景启动器中,我们提供了一些自动配置的功能,那么在之前我们也说过,这些自动配置,除了可以自动配置之外,还可以由程序员来自行根据需求进行配置。那么下面我们就从配置文件入手开始详细说明?

什么是配置文件?

  在之前的项目中我们看到在resource目录中有一个application.properties的文件,现在我们习惯使用application.yml配置文件,其实二者所实现的效果是一样的。

  在Spring Boot中为开发者提供了很多的场景启动器,并且这些启动器的配置信息并不是在内部写死的,例如配置数据库、配置中间件、配置服务的端口号这些内容。在Spring Boot中统一使用了Properties类对这些配置进行了抽象。

  在Spring启动的时候可以通过对应的配置前缀进行读取相应的配置值。我们来通过一段简单的源码来分析一下。在WebMvcAutoConfiguration配置类中,找到了Spring MVC相关配置的配置项,会看到有如下一个配置类。其中@ConfigurationProperties(prefix = “spring.mvc”)就表示它的访问前缀,在这之后跟的都是对应的配置项,以及配置的值。在项目启动的时候就可以自动装配到项目中并且运行起来。

@ConfigurationProperties(prefix = "spring.mvc")
public class WebMvcProperties {
   

  关于配置文件的内容,在后续的深入介绍中还有更加详细的介绍。这里就不在深入介绍。

启动类介绍

  在我们演示Hello World项目的时候,提到了一个概念就是启动项目,那么如何启动项目呢。就需要启动类的帮助。我们知道无论是什么样的程序,它都有一个main方法作为所有程序代码的入口,Spring Boot项目也不例外,既然没有外部容器作为启动运行的环境,那么在Spring Boot中提供了如下的一些操作来完成项目启动的操作。

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

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

相关文章

基于springboot在线点餐系统

基于springbootvue实现的点餐系统 (源码L文ppt)4-077 第4章 系统设计 4.1 总体功能设计 一般个人用户和管理者都需要登录才能进入点餐系统,使用者登录时会在后台判断使用的权限类型,包括一般使用者和管理者,一般使用…

【C++】stack和queue的使用及模拟实现

stack就是栈的意思,这个结构遵循后进先出(LIFO)的原则,可以将栈想象为一个子弹夹,先进去的子弹后出来。 queue就是队列的意思,这个结构遵循先进先出(FIFO)的原则,可以将对列想象成我们排队买饭的场景,先排…

Java Web应用升级故障案例解析

在一次Java Web应用程序的优化升级过程中,从Tomcat 7.0.109版本升级至8.5.93版本后,尽管在预发布环境中验证无误,但在灰度环境中却发现了一个令人困惑的问题:新日志记录神秘“失踪”。本文深入探讨了这一问题的排查与解决过程&…

一份在阿里内网悄悄流传的大模型面试真题!(2024年最新)

随着人工智能技术的迅猛发展,计算机视觉(CV)、自然语言处理(NLP)、搜索、推荐、广告推送和风险控制等领域的岗位越来越受欢迎,而对于大型模型技术的掌握成为了这些岗位的标配。 但目前公开的大模型资源还是…

FAT32取证分析

前言: 在正常工作中经常会有数据恢复或者取证分析的场景,数据是否能被恢复,主要还是看数据是否被覆盖,正常情况下文件虽然被删除,只是修对应的标志位,文件本身数据并不会被破坏,所以我们就可以…

Chrome截取网页全屏

1.使用Chrome开发者工具 Chrome自带的开发者工具,可以进行网页整页截图, 首先打开你想截图的网页, 然后按下 F12,调出开发者工具, 接着按Ctrl Shift P。 紧接着输入指令 capture, 它会提示有三个选项,如…

应用层 IV(万维网WWW)【★★】

(★★)代表非常重要的知识点,(★)代表重要的知识点。 一、WWW 的概念与组成结构 1. 万维网的概念 万维网 WWW(World Wide Web)并非某种特殊的计算机网络。万维网是一个大规模的、联机式的信息…

echarts y轴滚动(react版本)

目录 效果图如下,代码见下方 代码可以直接复制,图片和css也要复制 tsx代码 css代码 代码里用到的图片,可以换成自己项目的图 效果图如下,代码见下方 代码可以直接复制,图片和css也要复制 tsx代码 import React,…

Leetcode 1396. 设计地铁系统

1.题目基本信息 1.1.题目描述 地铁系统跟踪不同车站之间的乘客出行时间,并使用这一数据来计算从一站到另一站的平均时间。 实现 UndergroundSystem 类: void checkIn(int id, string stationName, int t) 通行卡 ID 等于 id 的乘客,在时间…

自动化测试常用函数:元素定位、操作与窗口管理

目录 一、元素的定位 1. cssSelector 2. xpath 2.1 获取HTML页面所有的节点 2.2 获取HTML页面指定的节点 2.3 获取一个节点中的直接子节点 2.4 获取一个节点的父节点 2.5 实现节点属性的匹配 2.6 使用指定索引的方式获取对应的节点内容 二、操作测试对象 1. 点击/提交…

多个ECU测试方案-IP地址相同-DoIP刷新-环境测试耐久测试

情况1:只有一个ECU进行测试 - 接口模块只需要使用一个车载以太网转换器; 情况2:多ECU同时测试,但ECU IP地址不一样,上位机多个网口 - 上位机测试软件,需要通过PC的不同网卡,访问各个ECU&#…

基于 RealSense D435相机实现手部姿态检测

基于 RealSense D435i相机进行手部姿态检测,其中采用 Mediapipe 进行手部检测,以下是详细步骤: Mediapipe 是一个由 Google开发的开源框架,专门用于构建多媒体处理管道,特别是计算机视觉和机器学习任务。它提供了一系列…

第68期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle

本文转自YashanDB官网,具体内容请见https://www.yashandb.com/newsinfo/7352676.html?templateId1718516 问题现象 某些三方件,例如 工作流引擎activiti,暂未适配yashandb,使用中会出现如下异常: 问题的风险及影响 …

【YashanDB知识库】查询YashanDB表空间使用率

本文转自YashanDB官网,具体内容请见https://www.yashandb.com/newsinfo/7369203.html?templateId1718516 【问题分类】功能使用 【关键字】表空间,使用率 【问题描述】YashanDB使用过程中,如何查询表空间的使用率 【问题原因分析】需要查…

NTPD使用/etc/ntp.conf配置时钟同步详解

NTPD使用/etc/ntp.conf配置时钟同步详解 引言安装NTPD配置/etc/ntp.conf1. 权限控制(restrict)2. 指定上层NTP服务器(server)3. 本地时间服务器(可选)启动NTPD服务验证时间同步ntpd服务默认多长时间同步一次ntp.conf上如何配置同步的频率和间隔配置步骤注意事项结论引言 …

虚拟数据架构能否取代传统数据架构?

虚拟数据架构能否取代传统数据架构? 前言虚拟数据架构能否取代传统数据架构 前言 数据虚拟化能够将分散在不同地方的数据整合起来,形成一个统一的视图,让数据同学能够更轻松地访问和分析这些数据。就像是把一堆杂乱无章的拼图碎片拼成了一幅…

从前端到全栈,你只差这款神器!

作为一名前端开发者,你是否也遇到过这样的困扰:界面做好了,功能完成了一半,却因为没有后端支持而卡住了进度?想自己搭建服务器,发现耗时耗力,学习曲线陡峭,最后项目拖延、效率大打折…

瑞芯微RK3566鸿蒙开发板Android11修改第三方输入法为默认输入法

本文适用于触觉智能所有支持Android11系统的开发板修改第三方输入法为默认输入法。本次使用的是触觉智能的Purple Pi OH鸿蒙开源主板,搭载了瑞芯微RK3566芯片,类树莓派设计,是Laval官方社区主荐的一款鸿蒙开发主板。 一、安装输入法并查看输入…

mysql如何快速编写单表查询语句

目录 背景生成sql语句 背景 我们在编写查询语句的时候,都提倡需要用到哪些字段就查哪些字段,这样有两个好处:1、可以增加程序运行效率,2、可以避免无关字段被暴露。那我们一个字段一个字段写就比较烦,有没有方法快速生…