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

前言:

文章是系列学习笔记第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类

java 复制代码
@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项目的时候自动生成的类,这个类是程序的入口。这个类无需手动创建。

java 复制代码
@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

java 复制代码
# 设置启用的环境
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优先级更高,将使用它作为配置信息。

相关推荐
LIN-JUN-WEI18 分钟前
[ESP32]VSCODE+ESP-IDF环境搭建及blink例程尝试(win10 win11均配置成功)
c语言·开发语言·ide·vscode·单片机·学习·编辑器
HXR_plume1 小时前
【计算机网络】王道考研笔记整理(1)计算机网络体系结构
网络·笔记·计算机网络
paopaokaka_luck1 小时前
智能推荐社交分享小程序(websocket即时通讯、协同过滤算法、时间衰减因子模型、热度得分算法)
数据库·vue.js·spring boot·后端·websocket·小程序
笑鸿的学习笔记2 小时前
qt-C++语法笔记之Stretch与Spacer的关系分析
c++·笔记·qt
柒七爱吃麻辣烫2 小时前
八股文系列-----SpringBoot自动配置的流程
java·spring boot·rpc
艾莉丝努力练剑2 小时前
【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(三)
c语言·开发语言·数据结构·学习·算法
巴伦是只猫2 小时前
【机器学习笔记Ⅰ】3 代价函数
人工智能·笔记·机器学习
ZZZS05162 小时前
stack栈练习
c++·笔记·学习·算法·动态规划
位东风3 小时前
【c++学习记录】状态模式,实现一个登陆功能
c++·学习·状态模式
Star Curry3 小时前
【新手小白的嵌入式学习之路】-STM32的学习_GPIO 8种模式学习心得
stm32·嵌入式硬件·学习