SpringBoot开发实用篇(一)

news2024/11/27 12:52:20

一:热部署

1:手工启动热部署

关于热部署

  • 重启(Restart):自定义开发代码,包含类、页面、配置文件等,加载位置restart类加载器
  • 重载(Reload):jar包,加载位置base类加载器

启动热部署

  • 开启开发者工具启动热部署(注意要添加坐标)

  • 使用构建项目操作启动热部署(Ctrl+F9)
  • 热部署仅仅加载当前开发者自定义开发的资源,不加载jar资源

2:自动启动热部署

  • 设置自动构建项目

  • 然后Ctrl+Shift+Alt+/

  • 激活方式:idea失去焦点五秒后启动热部署

3:热部署范围配置

  • 默认不触发重启的目录

  • 自定义不参与排除项

4:关闭热部署

  • 设置高优先级的属性禁用热部署

二:配置高级

1:ConfigurationProperties

  • 使用@ConfigurationProperties为第三方Bean添加属性

  • @EnableConfigurationProperties注解可以为@ConfigurationProperties注解对应的类加入到Spring容器中,也就是自动将指定的类标为Bean

注意:@EnableConfigurationProperties与@Component不能同时使用    

2:松散绑定

  • @ConfigurationProperties绑定属性支持属性名宽松绑定 (大小写,下划线,横线什么的,虽然不是一模一样的对应,但是可以匹配) 
  • @Value注解不支持松散绑定

 注意:绑定前缀名命名规范:仅能使用纯小写字母、数字、下划线作为合法的字符

3:常用计量单位

  • SpringBoot支持JDK8提供的时间和空间计量单位

可选的值如下:

4:Bean属性校验

(1)添加JSR303规范坐标与Hibernate校验框架对应的坐标

(2)对Bean开启校验功能             

 (3)设置校验规则

5:进制数据转换规则

  • yaml文件中对于数字的定义支持进制书写格式,如需使用字符串请使用引号明确标注   

 yaml语法规则

字面值表达方式

三:测试

1:加载测试专用属性

  • 在启动测试环境时可以通过properties参数设置测试环境专用的属性     

    优势:比多环境开发中的测试环境影响范围更小,仅对当前测试类有效

  • 在启动测试环境时可以通过args参数设置测试环境专用的传入参数

2:加载测试专用配置

  • 使用@Import注解加载当前测试类专用的配置

  • 加载测试范围配置应用于小范围测试环境

3:测试类中启动web环境

  • 模拟端口
  • 虚拟请求测试
  • 虚拟请求状态匹配
  • 虚拟请求体匹配
  • 虚拟请求体(jsom)匹配
  • 虚拟请求头的匹配

4:业务层测试事务回滚

数据层测试事务回滚

  • 为测试用例添加事务,SpringBoot会对测试用例对应的事务提交操作进行回滚
  • 如果想在测试用例中提交事务,可以通过@Rollback注解设置      

5:测试用例设置随机数据        

测试用例数据设定

  • 测试用例数据通常采用随机值进行测试,使用SpringBoot提供的随机数为其赋值

四:数据层解决方案

目录

一:热部署

1:手工启动热部署

2:自动启动热部署

3:热部署范围配置

4:关闭热部署

二:配置高级

1:ConfigurationProperties

2:松散绑定

3:常用计量单位

4:Bean属性校验

5:进制数据转换规则

三:测试

1:加载测试专用属性

2:加载测试专用配置

3:测试类中启动web环境

4:业务层测试事务回滚

5:测试用例设置随机数据        

四:数据层解决方案

1:数据源

2:持久化技术

3:内嵌数据库


1:数据源

  • SpringBoot提供了三种内嵌的数据源对象供开发者选择
  1. HikariCP:默认内置数据源对象
  2. Tomcat提供DataSource:HikariCP不可用的情况下,且在web环境中,将使用Tomcat服务器配置的数据源对象
  3. Commons DBCP: HikariCP不可用,tomcat数据源也不可用,将使用dbcp数据源
  • 通用配置无法设置具体的数据源配置信息,仅提供基本的连接相关配置,如需配置,在下一级配置中具体设定

2:持久化技术

数据层解决方案

  • 内置持久化解决方案——JDBCTemplate
  • 注意:使用此技术要导入相应的配置依赖

  • JDBCTemplate配置,它也可以做相应的设置

3:内嵌数据库

  • SpringBoot提供三种内嵌数据库供开发者选择,提高开发测试效率(下面的以H2数据库为例)
  1. H2
  2. HSQL
  3. Derby
  • 设置当前项目为web工程,并配置H2管理控制台参数
  • 访问用户名sa,默认密码123456
  • 操作数据库(创建表)
  • 设置访问数据源
  • 注意:H2数据库控制台仅用于开发阶段,线上项目请务必关闭控制台功能

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

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

相关文章

阿里云发送验证码流程

目录 1. 阿里云短信服务简介 2. 阿里云验证码发送流程 2.1 申请阿里云短信服务 2.2 短信模板及阿里云秘钥 1.开发者可以在自己的应用程序中集成短信发送功能。绑定发起测试的手机号,需要绑定的手机号才能成功发送验证码,其他的用户手机号发送的验…

统信UOS 安装二级制版MySQL8.4

统信UOS 安装二级制版MySQL8.4 建立MySQL用户和用户组 sudo groupadd mysqlsudo useradd -r -g mysql -s /bin/false mysql下载MySQL安装包 wget https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz解压缩MySQL安装包 sudo tar -xvf m…

nginx架构基本数据结构配置模块请求详解

初探nginx架构 众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。 nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一…

鸿蒙 HarmonyOS NEXT星河版APP应用开发—上篇

一、鸿蒙开发环境搭建 DevEco Studio安装 下载 访问官网:https://developer.huawei.com/consumer/cn/deveco-studio/选择操作系统版本后并注册登录华为账号既可下载安装包 安装 建议:软件和依赖安装目录不要使用中文字符软件安装包下载完成后&#xff0…

mac电脑守护神CleanMyMac2024免费版本下载

🌟 电脑的守护神:CleanMyMac👾 亲爱的数码控们,是不是每次看到电脑上满满的垃圾文件和缓慢的运行速度就感到头疼呢?别怕,今天我要来给你们安利一款神奇的小帮手——CleanMyMac!它可是我们电脑的…

class中的溢出滑动效果

效果图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><style>*{margin: 0;padding: 0;}.frame-pages{width: 30%;height: 60px;display: flex;justify…

【Android面试八股文】来说一说Activity,Window,View三者的联系和区别吧

文章目录 ActivityWindowView为什么需要 Window?Window和View的关系Activity与Window的关系示例流程图示总结扩展阅读在Android应用程序开发中, Activity、Window 和 View 是构建用户界面的核心组件。它们之间有着紧密的联系,但角色和职责各不相同。下面是对它们联系和区别…

Pnpm:包管理的新星,如何颠覆 Npm 和 Yarn

在探索现代 JavaScript 生态系统时&#xff0c;我们常常会遇到新兴技术的快速迭代和改进。其中&#xff0c;包管理工具的发展尤为重要&#xff0c;因为它们直接影响开发效率和项目性能。最近&#xff0c;pnpm 作为一种新的包管理工具引起了广泛关注。它不仅挑战了传统工具如 np…

一键转换PDL至HTML,轻松驾驭文档格式,高效办公新纪元从此开启!

在信息爆炸的时代&#xff0c;文档格式繁多&#xff0c;如何高效处理这些文档成为了每个职场人士关注的焦点。现在&#xff0c;我们为您带来一款革命性的工具——一键转换PDL至HTML&#xff0c;让您轻松驾驭文档格式&#xff0c;开启高效办公新纪元&#xff01; 首先&#xff0…

“论SOA在企业集成架构设计中的应用”必过模板,软考高级,系统架构设计师论文

论文真题 企业应用集成(Enterprise Application Integration, EAI)是每个企业都必须要面对的实际问题。面向服务的企业应用集成是一种基于面向服务体系结构(Service-OrientedArchitecture,SOA)的新型企业应用集成技术,强调将企业和组织内部的资源和业务功能暴露为服务,实现…

【深度学习系列】全面指南:安装TensorFlow的CPU和GPU版本

本博客旨在为初学者提供一份全面的指南&#xff0c;介绍如何根据个人电脑的配置选择并安装适合的TensorFlow版本。内容涵盖了如何查看电脑显卡型号以确定是安装CPU还是GPU版本的TensorFlow&#xff0c;创建Python虚拟环境&#xff0c;以及使用conda命令查找可用的TensorFlow版本…

34 - 指定日期的产品价格(高频 SQL 50 题基础版)

34 - 指定日期的产品价格 -- row_number(行号) 生成连续的序号&#xff0c;不考虑分数相同 -- 在2019-08-16之前改的价格&#xff0c;使用最近一期的日期&#xff0c;没有在2019-08-16之前改的价格&#xff0c;默认价格为10 select t.product_id, t.new_price as price from (s…

51单片机定时器中断配置

测试环境 单片机型号&#xff1a;STC8G1K08-38I-TSSOP20&#xff0c;其他型号请自行测试&#xff1b; IDE&#xff1a;Keil C51&#xff1b; 定时器配置及主要代码 以定时器T0为例&#xff0c;查看手册&#xff0c;有4种工作模式&#xff1a;模式0&#xff08;16位自动重装载…

基于淘宝商城用户购物行为数据分析系统

摘 要 在电商行业高速发展的今天&#xff0c;用户购物行为数据量呈指数型增长&#xff0c;传统的数据处理架构已经无法满足于现如今的数据处理需求。针对于这样的需求本课题设计了一种基于淘宝的用户购物行为分析系统&#xff0c;旨在通过对大量数据进行分析处理进而深入研究用…

全国青少年人工智能创新挑战赛考试系统果然卡壳了

本比赛的官网地址是&#xff1a;http://aiic.china61.org.cn/niWXB 昨天考的全国青少年人工智能创新挑战赛的图形化编程卡的没有答题区&#xff0c;有的是空白&#xff0c;有的是组卷&#xff0c;大家先熟悉题目&#xff0c;构思怎么编程&#xff0c;两道编程题5050分值&#…

对兼容各操作系统的Anki选择题模板的更新——提供更方便的笔记修改功能

2021年当我想做一个兼容各操作系统的Anki选择题模板的时候&#xff0c;到处搜索茧中网&#xff0c;根本找不到相关内容&#xff0c;直到偶然在github上看到Simon Lammer的Anki持久化模块&#xff0c;才算真正实现。现在再在茧中网上搜索兼容各种操作系统的Anki选择题模板&#…

剖析 Kafka 消息丢失的原因

文章目录 前言一、生产者导致消息丢失的场景场景1&#xff1a;消息体太大解决方案 &#xff1a;1、减少生产者发送消息体体积2、调整参数max.request.size 场景2&#xff1a;异步发送机制解决方案 &#xff1a;1、使用带回调函数的发送方法 场景3&#xff1a;网络问题和配置不当…

FineReport报表案例

普通报表 保存的文件类型为 cpt&#xff0c;依靠着单元格的扩展与父子格的关系来实现模板效果&#xff0c;可进行参数查询&#xff0c;填报报表&#xff0c;图表设计等等&#xff0c;但是在分页预览模式下不能在报表主体中展示控件&#xff0c;而且单元格间相互影响&#xff0c…

IDEA快速入门02-快速入门

二、快速入门 2.1 打开IDEA,点击New一个项目 入口&#xff0c;依次打开 File -> New -> Project。 2.2 使用Spring Initializr方式构建Spring Boot项目 2.3 设置项目所属组、项目名称、java版本等 2.4 选择SpringBoot版本及依赖组件 点击Create进行创建。 2.6 创建成…

【第一性原理】邓巴数字

这里写自定义目录标题 什么是邓巴数字邓巴数背后的科学历史上各个组织的人数与邓巴数字的关系在人类进化中的意义现代社会中邓巴数字的体现邓巴数字的意义其他与沟通相关的数据注意事项结论参考 罗宾邓巴教授生于1947年&#xff0c;进化心理学家&#xff0c;牛津大学教授&#…