【SSM】SpringBoot学习笔记1:SpringBoot快速入门

news2025/6/7 1:32:05

 前言:

文章是系列学习笔记第9篇。基于黑马程序员课程完成,是笔者的学习笔记与心得总结,供自己和他人参考。笔记大部分是对黑马视频的归纳,少部分自己的理解,微量ai解释的内容(ai部分会标出)。


笔记1:【SSM】Spring学习笔记1: IoC的XML配置-CSDN博客 对应黑马课程P1~P20的内容。

笔记2:【SSM】Spring学习笔记2:注解配置bean-CSDN博客  对应黑马课程P21~P27

笔记3:【SSM】Spring学习笔记3:Spring整合MyBatis和Junit-CSDN博客 对应黑马课程P28~P30

笔记4:【SSM】Spring学习笔记4:Spring的AOP编程-CSDN博客 对应黑马课程P31~39

笔记5:【SSM】Spring学习笔记5:Spring事务-CSDN博客 对应黑马课程P40~42

笔记6:  【SSM】Spring学习笔记6:SpringMVC入门-CSDN博客 对应黑马课程P43~58

笔记7: 【SSM】SpringMVC学习笔记7:前后端数据传输协议和异常处理-CSDN博客 对应黑马课程P59~65

笔记8:【SSM】SpringMVC学习笔记8:拦截器-CSDN博客 对应黑马课程P71~74

笔记9: (此篇) 对应黑马课程P90~101


1. 快速案例

新建springboot工程(intell IDEA有集成)

新建好工程之后,直接写一个controller类

@RestController
@RequestMapping("/book")
public class BookController {
    @GetMapping("/{id}")
    public String getBook(@PathVariable int id) {
        return "hi spring boot";
    }
}

运行新建工程之后自动写好的类

无需额外配置,此时tomcat服务器已经启动,刚刚写好的controller类正确运行。

不通过ide创建spring boot项目的话,可以从spring官网创建项目,到时候会提供一个创建好项目的压缩包。

2. spring boot项目快速启动

将构建好的spring boot打包成一个jar包,发送给前端人员,前端人员就能无需配置运行环境的情况下运行构建好的spring boot程序。

注意,如果没有以下插件,打包出来的jar包无法直接运行。

3.springboot 

3.1 起步依赖

构建的springboot项目会继承自spring-boot-starter-parent项目,而spring-boot-starter-parent又会继承自spring-boot-dependencies,这两个项目是springboot官方提供的项目,用于依赖的版本控制。简单的说,这两个项目中提供了几乎所有常用依赖的适配版本的可选依赖,在我们的项目中如果需要使用某个依赖直接使用groupId和artifactId即可,无需配置版本号。这种设计减少了各个依赖之间版本冲突带来的问题。

3.2 引导类

就是创建SpringBoot项目的时候自动生成的类,这个类是程序的入口。这个类无需手动创建。

@SpringBootApplication
public class MyspringbootApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyspringbootApplication.class, args);
    }

}

4. Springboot端口配置

springboot所有配置文件都叫 application.XXX

application.properties配置

application.yml配置

注意该文件配置格式,在具体的值前面有空格。

application.yaml配置

它的格式和.yml一模一样

优先级

如果同时使用以上三种文件同时配置,优先级:

application.properties>application.yml>application.yaml

ps:

如果在配置文件中书写的时候没有任何提示,可能是以内ide没有将该文件视为工程的配置文件。需要到项目结构中设置。

5. yaml配置文件

5.1 书写格式

逐渐在市场中占主流地位

5.2 使用

方法1

方法2

使用自动装配的方式,直接将配置文件中的信息放到environment对象里面。

方法3

自定义对象封装数据。使用@Component注解将该类配置成bean,交给Spring管理。

使用@ConfigurationProperties注解指明这个类应该与配置文件中哪个信息对应。

5.3 多环境配置

.yml

# 设置启用的环境
spring:
  profiles:
    active: test

---
# 开发
spring:
  profiles: dev
server:
  port: 80

---
# 生产
spring:
  profiles: pro
server:
  port: 81

---
# 测试
spring:
  profiles: test
server:
  port: 82

命令行运行jar包的时候指定运行环境

同理,这种格式适用于各中参数的临时覆盖,包括配置文件中的自定义参数

6. maven 和SpringBoot多环境配置兼容

要需要保证有以下插件,maven中的属性才能被配置文件读取

7. 在jar外面的配置文件

在jar包的同级目录下如果有一个application.yml配置文件,jar包运行的的时候会使用该配置文件作为配置信息。如果jar包同级目录下有config/application.yml,则config/application.yml优先级更高,将使用它作为配置信息。

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

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

相关文章

1.企业可观测性监控三大支柱及开源方案的横评对比

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] 📢 大家好,我是 WeiyiGeek,一名深耕安全运维开发(SecOpsDev)领域的技术从业者,致力于探索DevOps与安全的融合(De…

双空间知识蒸馏用于大语言模型

Dual-Space Knowledge Distillation for Large Language Models 发表:EMNLP 2024 机构:Beijing Key Lab of Traffic Data Analysis and Mining 连接:https://aclanthology.org/2024.emnlp-main.1010.pdf 代码:GitHub - songmz…

OpenCV CUDA模块特征检测------角点检测的接口createMinEigenValCorner()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数创建一个 基于最小特征值(Minimum Eigenvalue)的角点响应计算对象,这是另一种经典的角点检测方法&…

8天Python从入门到精通【itheima】-69~70(字符串的常见定义和操作+案例练习)

目录 69节-字符串的定义和操作 1.学习目标 2.数据容器视角下的字符串 3.字符串的下标索引 4.字符串是一个无法修改的数据容器 5.字符串的常用操作 【1】index方法 【2】replace方法:进过替换,得到一个新的字符串 【3】split方法:将字…

GC1809:高性能音频接收与转换芯片

GC1809 是一款高性能音频接收与转换芯片,适用于多种音频设备,如 A/V 接收器、多媒体音响设备、机顶盒等。本文将简要介绍该芯片的主要特性、性能参数及应用。 主要特性 多协议兼容:兼容 IEC60958、S/PDIF、EIAJ CP1201 和 AES3 协议。 多种…

项目实战——C语言扫雷游戏

这是一款9*9的扫雷游戏 扫雷游戏 1.需求分析2.程序框架设计3.分函数实现打印游戏菜单界面游戏主逻辑函数程序主入口初始化游戏棋盘随机布置地雷显示当前棋盘状态计算指定位置周围的地雷数量玩家排雷主逻辑 4.分文件实现(1)test.c(2&#xff0…

【Java】CopyOnWriteArrayList

一,概述 CopyOnWriteArrayList作为List接口的实现之一,它区分于ArrayList在于它是线程安全的。如它名字一样,所有的写操作均复制了原数组的值,虽说代价较大,但读多写少的环境下,是可接受的。笔者在此简单看…

C#入门学习笔记 #8(委托)

欢迎进入这篇文章,文章内容为学习C#过程中做的笔记,可能有些内容的逻辑衔接不是很连贯,但还是决定分享出来,由衷的希望可以帮助到你。 笔记内容会持续更新~~ 本章介绍C#中的委托,本章难度较大... 委托 C#中的委托是C语言、C++中函数指针的升级版。接下来介绍一个概念—…

CSS 3D 变换中z-index失效问题

CSS 3D 变换中 z-index 失效问题 1. z-index 失效了 在 CSS 中,z-index 通常用于控制元素的层叠顺序,数值越大,元素越靠前显示。在 3D 变换(如 rotateX、translateZ) 中使用 z-index 时,可能会发现z-inde…

Tailwind CSS 实战:基于 Kooboo 构建 AI 对话框页面(七):消息框交互功能添加

Tailwind CSS 实战,基于Kooboo构建AI对话框页面(一) Tailwind CSS 实战,基于Kooboo构建AI对话框页面(二):实现交互功能 Tailwind CSS 实战,基于 Kooboo 构建 AI 对话框页面&#x…

【计算机网络】网络层IP协议与子网划分详解:从主机通信到网络设计的底层逻辑

🔥个人主页🔥:孤寂大仙V 🌈收录专栏🌈:计算机网络 🌹往期回顾🌹: 【计算机网络】传输层TCP协议——协议段格式、三次握手四次挥手、超时重传、滑动窗口、流量控制、 &…

基于WSL搭建Ubnutu 20.04.6 LTS(二)-部署Docker环境

Docker是一组平台即服务(PaaS)的产品。它基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。托管容器的软件称为Docker引擎。Docker能够帮助开发者在轻量级容器中自动部署应用程序,并使得不同容器中的应用程序彼此隔离&a…

【图像处理入门】6. 频域图像处理:傅里叶变换与滤波的奥秘

摘要 频域图像处理通过傅里叶变换将图像从空间域转换到频率域,为图像增强、去噪、压缩等任务提供全新视角。本文将深入解析傅里叶变换原理,介绍低通、高通滤波的实现方式,结合OpenCV和Python代码展示频域滤波在去除噪声、增强边缘中的应用,帮助读者掌握图像频域处理的核心…

基于开源AI智能名片链动2+1模式S2B2C商城小程序的生态农庄留存运营策略研究

摘要:本文聚焦于生态农庄运营中的游客留存问题,以村长与乡亲们吸引游客进村为背景,深入探讨如何借助开源AI智能名片链动2 1模式S2B2C商城小程序实现游客的有效留存。通过分析该小程序在信息传递、服务整合、营销激励等方面的优势&#xff0c…

Jenkins实现自动化部署Springboot项目到Docker容器(Jenkinsfile)

Jenkins实现自动化部署Springboot项目到Docker容器 引言:为什么需要自动化部署? 在软件开发中,频繁的手动部署既耗时又容易出错。通过 Docker + Jenkins + Git 的组合,您可以实现: ✅ 一键部署:代码推送后自动构建和部署🐳 环境一致性:Docker 确保开发、测试、生产环…

【Linux】Git原理与使用

编程不仅是解决问题的艺术,更是对复杂性进行优雅管理的哲学。 前言 这是我自己学习Linux系统编程的第三篇笔记。后期我会继续把Linux系统编程笔记开源至博客上。 上一期笔记是关于Vim文本编辑器知识: 【Linux】Vim文本编辑器-CSDN博客https://blog.csdn…

A*算法实现原理以及实现步骤(C++)

算法原理: A*算法是一种启发式搜索算法,用于在图中寻找最短路径。它结合了Dijkstra算法的确保最短路径的优点和贪心最佳优先搜索的高效性。其核心在于使用一个评估函数: f(n) g(n) h(n) 其中: - g(n) 表示从起点到节点n的实际代…

Devops自动化运维---py基础篇一

python基础篇 1、基本数据类型 2、算术运算符 3、变量 变量:编程语言中能储存结果或能表示值的抽象概念 用途:用一段数据赋予一个简短、易于记忆的名字,方便重复使用3.1 格式转化变量 操作符号描述%s字符串%d整数%f浮点数 实例&#xff1…

平安养老险蚌埠中心支公司开展金融宣教活动

近日,平安养老保险股份有限公司(以下简称“平安养老险”)蚌埠中心支公司,走进某合作企业开展金融教育宣传活动。 活动现场,平安养老险蚌埠中心支公司工作人员通过发放宣传手册和小礼品等方式,向企业员工普…

Redisson简明教程—你家的锁芯该换了

1.简介 各位攻城狮们,你还在使用原生命令来上锁么?看来你还是不够懒,饺子都给你包好了,你非要吃大饼配炒韭菜,快点改善一下“伙食”吧,写代码也要来点幸福感。今天咱们就来聊聊Redisson提供的各种锁&#…