JAVA学习笔记DAY10——SpringBoot基础

文章目录

  • SpringBoot3 介绍
  • SpringBoot 快速入门
    • @SpringBootApplication
  • SpringBoot 配置文件
    • 统一配置管理
    • Yaml 配置
      • 优势
      • tips
  • SpringBoot 整合 SpringMVC
    • 静态资源
    • 拦截器 interceptor
  • SpringBoot 整合 Druid
  • SpringBoot 整合 Mybatis
  • SpringBoot 整合 tx aop
  • SpringBoot 打包

SpringBoot3 介绍

Spring家族存在配置文件过于复杂和繁琐的问题,尤其是由单体项目转为微服务项目之后,配置文件更显繁杂。Boot正是为了解决这个问题而诞生。

SpringBoot是整合了Spring Framework的快速启动应用。

SpringBoot 快速入门

  1. 创建Maven工程
  2. 添加依赖
    只需在pom.xml 中添加添加springboot
    中添加web启动器starter
  3. 编写启动引导类
    @SpringBootApplication 即是启动类
  4. 编写处理器 Controller
    @RestController
    @RequestMapping(“hello”)
  5. 启动项目

@SpringBootApplication

本身是一个整合注解。
代表含义:

  1. 是一个配置类 @SpringBootConfiguration
  2. 自动加载配置 @EnableAutoConfiguration 自动加载其他的配置类
  3. 扫描包注解 @ComponentScan 默认扫描当前类所在的包 及其子包的注解

SpringBoot 配置文件

统一配置管理

application.properties / yml 文件中集成所有参数配置。

  1. 固定的key配置一些参数。
  2. 自定义key。
    引用时用@Value(“${ xxxxx }”) 即可

Yaml 配置

properties 中为了key不重复,采用多层命名。写起来较为繁琐不推荐,推荐yaml / yml 格式。

yaml有层次,是可以继承的配置文件格式。(有缩进)

优势

  1. 层次结构
  2. 自我描述性
  3. 注释支持 用#
  4. 多行文本
  5. 类型支持
  6. 可读性好

tips

  • yaml文件中: 后必须加空格
  • 用多个 - 来表示集合

SpringBoot 整合 SpringMVC

静态资源

有默认静态资源路径。
一旦配置,则默认路径失效
外部访问静态资源时(wangzhi)不需要写静态资源文件夹

拦截器 interceptor

正常加,需要配置类就正常加。

SpringBoot 整合 Druid

  1. 创建项目
  2. 依赖导入
  3. 配置文件
  4. 编写Controller
  5. 启动测试
  6. 创建文件解决兼容性问题(1.2.21解决了兼容性问题)

SpringBoot 整合 Mybatis

  1. 导入依赖
  2. 配置文件
  3. 创建实体类
  4. 创建Mapper接口
  5. 创建Mapper接口SQL实现:可以使用mapperxml文件或注解方式
  6. 创建程序启动类
  7. 注解扫描 : @MapperScan
  8. 使用Mapper接口

SpringBoot 整合 tx aop

SpringBoot 打包

SpringBoot内置服务器软件, 所以不需要tomcat运行war包,而是打包成 jar 包,jar包中包含服务器软件,通过命令java -jar运行。

  1. 添加插件 pom.xml中
  2. maven打包
  3. 运行命令 java -jar [选项] [参数] <jar文件名>

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

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

相关文章

QT利用QGraphicsDropShadowEffect效果及自定义按钮来实现一个炫酷键盘

1、效果 2、核心代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent<

开源!在goview中实现cesium的低代码可视化编辑

大家好&#xff0c;我是日拱一卒的攻城师不浪&#xff0c;专注可视化、数字孪生、前端、nodejs、AI学习、GIS等学习沉淀&#xff0c;这是2024年输出的第19/100篇文章&#xff1b; 前言 前阵子写了一篇goview二开的文章教程&#xff0c;很多小伙伴留言对goview嵌套cesium并实现…

TCP编程

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 由于TCP连接具有安全可靠的特性&#xff0c;所以TCP应用更为广泛。创建TCP连接时&#xff0c;主动发起连接的叫客户端&#xff0c;被动响应连接的叫服…

【TIM输出比较】

TIM输出比较 1.简介1.1.输出比较功能1.2.PWM 2.输出比较通道2.1.结构原理图2.2.模式分类 3.输出PWM波形及参数计算4.案例所需外设4.1.案例4.2.舵机4.3.直流单机 链接: 15-TIM输出比较 1.简介 1.1.输出比较功能 输出比较&#xff0c;英文全称Output Compare&#xff0c;简称O…

AI 情感聊天机器人之旅 —— 相关论文调研

开放域闲聊场景 Prompted LLMs as Chatbot Modules for Long Open-domain Conversation 发布日期&#xff1a;2023-05-01 简要介绍&#xff1a;作者提出了 MPC&#xff08;模块化提示聊天机器人&#xff09;&#xff0c;这是一种无需微调即可创建高质量对话代理的新方法&…

【转载】使用 .NET Upgrade Assistant(升级助手)升级 .NET 老旧版本项目

使用 .NET Upgrade Assistant&#xff08;升级助手&#xff09;升级 .NET 老旧版本项目&#xff1a;https://blog.csdn.net/ChaITSimpleLove/article/details/134711604

【QT问题解决】QT Modbus rtu 拖动主界面时modbus的槽函数无法响应的解决方案

目录 问题 Modbus放在主线程&#xff0c;界面事件会阻塞信号传输解决方案 将modbus放在子线程实现 问题 Modbus放在主线程&#xff0c;界面事件会阻塞信号传输 在使用QT5.14.2时 使用QT自带的QModbusClient类实现对一个力传感器的数据读取。本人为了测试就将modbus读取逻辑等都…

各种编码格式和网站工具

1、url编码 格式如&#xff1a; 中文 > %E4%B8%AD%E6%96%87 hello > hello [] > %5B%5D 在线工具&#xff1a;https://www.bejson.com/enc/urlencode/ 2、utf8编码 格式如&#xff1a; 中文 > \xe4\xb8\xad\xe6\x96\x87 hello > \x68\x65\x6c\x6c\x6f [] >…

基于深度学习的向量图预测

基于深度学习的向量图预测 向量图预测&#xff08;Vector Graphics Prediction&#xff09;是计算机视觉和图形学中的一个新兴任务&#xff0c;旨在从像素图像&#xff08;栅格图像&#xff09;生成相应的向量图像。向量图像由几何图形&#xff08;如线条、曲线、多边形等&…

【网络安全产品】---网闸

了解了不少安全产品&#xff0c;但是对网闸的理解一直比较模糊&#xff0c;今天 what 网闸是安全隔离与信息交换系统的简称&#xff0c;使得在不影响数据正常通信的前提下&#xff0c;让络在不连通的情况下数据的安全交换和资源共享&#xff0c;对不同安全域/网络之间实现真正…

u8g2 使用IIC驱动uc1617 lcd有时候某些像素显示不正确

折腾了很久&#xff0c;本来lcd是挂载到已经存在的iic总线上的&#xff0c;总线原来是工作正常的&#xff0c;挂载之后lcd也能显示&#xff0c;但是有时候显示不正确&#xff0c;有时候全白的时候有黑色的杂点。 解决方案&#xff1a; 1.最开始以为是IIC总线速度快&#xff0…

【机器学习】从理论到实践:决策树算法在机器学习中的应用与实现

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 &#x1f4d5;引言 ⛓决策树的基本原理 1. 决策树的结构 2. 信息增益 熵的计算公式 信息增益的计算公式 3. 基尼指数 4. 决策树的构建 &#x1f916;决策树的代码实现 1. 数据准备 2. 决策树模型训练 3.…

Vim基础操作:常用命令、安装插件、在VS Code中使用Vim及解决Vim编辑键盘错乱

Vim模式 普通模式&#xff08;Normal Mode&#xff09;&#xff1a; 这是 Vim 的默认模式&#xff0c;用于执行文本编辑命令&#xff0c;如复制、粘贴、删除等。在此模式下&#xff0c;你可以使用各种 Vim 命令来操作文本。插入模式&#xff08;Insert Mode&#xff09;&#…

【Python日志模块全面指南】:记录每一行代码的呼吸,掌握应用程序的脉搏

文章目录 &#x1f680;一、了解日志&#x1f308;二、日志作用&#x1f308;三、了解日志模块⭐四、日志级别&#x1f4a5;五、记录日志-基础❤️六、记录日志-处理器handler&#x1f3ac;七、记录日志-格式化记录☔八、记录日志-配置logger&#x1f44a;九、流程梳理 &#x…

如何在linux中下载R或者更新R

一、问题阐述 package ‘Seurat’ was built under R version 4.3.3Loading required package: SeuratObject Error: This is R 4.0.4, package ‘SeuratObject’ needs > 4.1.0 当你在rstudio中出现这样的报错时&#xff0c;意味着你需要更新你的R 的版本了。 二、解决方…

Openldap集成Kerberos

文章目录 一、背景二、Openldap集成Kerberos2.1kerberos服务器中绑定Ldap服务器2.1.1创建LDAP管理员用户2.1.2添加principal2.1.3生成keytab文件2.1.4赋予keytab文件权限2.1.5验证keytab文件2.1.6增加KRB5_KTNAME配置 2.2Ldap服务器中绑定kerberos服务器2.2.1生成LDAP数据库Roo…

第二十五篇——信息加密:韦小宝说谎的秘诀

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 加密这件事&#xff0c;对于这个时代的我们来说非常重要&#xff0c;那么…

ElasticSearch学习笔记(二)文档操作、RestHighLevelClient的使用

文章目录 前言3 文档操作3.1 新增文档3.2 查询文档3.3 修改文档3.3.1 全量修改3.3.2 增量修改 3.4 删除文档 4 RestAPI4.1 创建数据库和表4.2 创建项目4.3 mapping映射分析4.4 初始化客户端4.5 创建索引库4.6 判断索引库是否存在4.7 删除索引库 5 RestClient操作文档5.1 准备工…

Android RecyclerView原理语法和用法

RecyclerView 是 Android 中用于显示大量数据的高级视图组件。它是 ListView 的改进版&#xff0c;具有更高的性能和灵活性。以下是关于 RecyclerView 的详细介绍&#xff0c;包括其原理、语法、优缺点和使用方法。 原理 RecyclerView 的核心原理是通过视图复用来提高性能。当…

什么是Java中的单例模式?请列举几种常见的单例实现方式,并讨论其优缺点。请解释Java中的设计模式,并列举几种常见的设计模式及其应用场景。

什么是Java中的单例模式&#xff1f;请列举几种常见的单例实现方式&#xff0c;并讨论其优缺点。 Java中的单例模式是一种创建型设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问这个实例。这种模式在多线程环境中特别有用&#xff0c;因…