SpringBoot 相关概念

文章目录

  • SpringBoot事务的使用
  • Spring Boot 有哪几种读取配置的方式?
  • SpringBoot的自动配置原理是什么
  • bootstrap.properties 和 application.properties 有何区别 ?
  • 什么是 Spring Profiles?
  • Spring Boot 中如何解决跨域问题 ?
  • SpringBoot性能如何优化
  • 实现定时任务
  • Spring Boot 如何监控系统实际运行状况?
  • SpringBoot 如何做请求参数的校验

SpringBoot事务的使用

● SpringBoot的事务很简单,首先使用注解EnableTransactionManagement开启事物之后,然后在Service方法上添加注解Transactional便可。

Spring Boot 有哪几种读取配置的方式?

● Spring Boot 可以通过 @PropertySource,@Value,@Environment, @ConfigurationPropertie注解来绑定变量

SpringBoot的自动配置原理是什么

核心是启动类中的核心注解@SpringbootAppliction开启之后
@EnableAutoConfiguration会生效。

然后SpringBoot 会根据约定去寻找配置类,注入到容器中。根据注解 @Conditional 动态的加载配置类里面的 Bean 到容器中。

bootstrap.properties 和 application.properties 有何区别 ?

bootstrap 一般在使用Spring Cloud 中使用到这个文件,配置在应用程序上下文的引导阶段生效,且bootstrap里的属性不能被覆盖。

什么是 Spring Profiles?

例如 application-dev.yml,application-prod.yml ,用于区分项目环境。

Spring Boot 中如何解决跨域问题 ?

后端通过 (CORS,Cross-origin resource sharing) 来解决跨域问题。这种解决方案并非 Spring Boot 特有的,还可以可以通过实现WebMvcConfigurer接口然后重写addCorsMappings方法解决跨域问题。

@Configurationpublic 
class CorsConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("*").allowCredentials(true).allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS").maxAge(3600);}
}

SpringBoot性能如何优化

● 如果项目比较大,类比较多,不使用@SpringBootApplication,采用@Compoment指定扫包范围
● 在项目启动时设置JVM初始内存和最大内存相同
● 将springboot内置服务器由tomcat设置为undertow

实现定时任务

● 在 Spring Boot 中使用定时任务主要有两种不同的方式,一个就是使用 Spring 中的 @Scheduled 注解,另一-个则是使用第三方框架 Quartz。

简单的建议使用 Spring 中的 @Scheduled 的方式主要通过 @Scheduled 注解来实现。
在启动类需要使用@EnableScheduing来开启定时任务。

注意使用cron的参数,可以查询相关的cron网站。

Spring Boot 如何监控系统实际运行状况?

我们可以使用 Spring Boot Actuator 来对 Spring Boot 项目进行简单的监控。

org.springframework.boot
spring-boot-starter-actuator

集成了这个模块之后,你的 Spring Boot 应用程序就自带了一些开箱即用的获取程序运行时的内部状态信息的 API。 比如通过 GET 方法访问 /health 接口,你就可以获取应用程序的健康指标。

SpringBoot 如何做请求参数的校验

使用spring-boot-starter-web 依赖就够了

JSR提供的校验注解:

校验注解

● @Null 被注释的元素必须为 null
● @NotNull 被注释的元素必须不为 null
● @AssertTrue 被注释的元素必须为 true
● @AssertFalse 被注释的元素必须为 false
● @Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
● @Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
● @DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
● @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
● @Size(max=, min=) 被注释的元素的大小必须在指定的范围内
● @Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
● @Past 被注释的元素必须是一个过去的日期
● @Future 被注释的元素必须是一个将来的日期
● @Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式

写作不易,有用点个赞就可以~~~

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

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

相关文章

MYSQL源码安装并且添加系统服务脚本SHELL编程实战LNMP源码部署脚本

MYSQL源码安装&并且添加系统服务脚本&SHELL编程实战LNMP源码部署脚本 1、编写MYSQL源码安装&并且添加系统服务脚本 mysql_yuanma_install_v2.sh #!/bin/bash #2024年01月25日21:05:03 #auto install mysql #by author lqc ##################################…

第四讲_JavaScript函数

JavaScript函数 1. 函数的概述2. 无参函数3. 带参函数4. 匿名函数4.1 匿名表达式4.2 立即执行函数4.2.1 立即执行函数写法一4.2.2 立即执行函数写法二 5. 闭包6. 箭头函数7. 函数this指定 1. 函数的概述 JavaScript 函数是被设计为执行特定任务的代码块。JavaScript 函数通过 …

【Javaweb程序】【C00155】基于SSM的旅游旅行管理系统(论文+PPT)

基于SSM的旅游旅行管理系统(论文PPT) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于SSM的旅游旅行管理系统 本系统分为前台系统模块、管理员模块、用户模块以及商家模块 其中前台系统模块的权限为:当游客打开系统的网址后…

Docker本地部署APITable结合内网穿透实现公网访问

文章目录 前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 前言 vika维格表作为新一代数据生产力平台,是一款面向 API 的智能多维表格。它将复杂的可视化数据库、电子表格、实时在线协同、低代码开发技术四合为一&am…

luceda ipkiss教程 60:导入特定图层的GDS版图

在用GDSCell导入版图时,可以设置layer_map来选择导入特定图层的GDS文件, 比如:可以将教程57中的微环调制器生成gds文件:Ring_modulator.gds, 在导入Ring_modulator.gds做其他设计时,可以选择只导入波导部分…

P1059 [NOIP2006 普及组] 明明的随机数题解

题目 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生…

MyBaties-增删查改

文章目录 一、简单的增删查改1.添加2.删除3.修改4.查询 一、简单的增删查改 1.添加 <insert id"insertUser">insert into user values (null,"cc","123445",20); </insert>2.删除 <!-- int deleteUser();--><delete …

高阶测试开发必备技能: k8s入门!

现在稍微有点规模公司都是基于docker容器化部署技巧&#xff0c;K8s现在主流&#xff0c;应用最广的容器集群管理技术。 k8s全称kubernetes&#xff08;首字母为 k、首字母与尾字母之间有 8 个字符、尾字母为 s&#xff0c;所以简称 k8s&#xff09;&#xff0c;基于Docker容器…

网络安全01--负载均衡

目录 一、环境准备 1.1三台虚拟机 二、开始搭建负载均衡&#xff1a; 2.1准备一下源 2.2正式安装 2.3Nginx安装情况 三、负载均衡--轮询&#xff08;round robin&#xff09; 3.1在 http 部分添加如下负载均衡配置&#xff1a; 3.2简单解释一下server端&#xff1a; …

JS-Window常见对象

location对象 location的数据类型是对象&#xff0c;它拆分并保存了URL地址的各个组成部分 常用属性和方法&#xff1a; 1&#xff09;href属性获取完整的URL地址&#xff0c;对其赋值时用于地址的跳转 //可以得到当前文件URL地址 console.log(location.href) //可以通过js…

GPT-SoVITS 测试

开箱直用版&#xff08;使用 AutoDL&#xff09; step1 打开地址 https://www.codewithgpu.com/i/RVC-Boss/GPT-SoVITS/GPT-SoVITS-Official 选择 AutoDL创建实例&#xff0c;选择 3080ti 机器 step2 创建好实例之后&#xff0c;进入命令行&#xff0c;输入命令 echo {}>…

防御保护--智能选路

目录 就近选路 策略选路--PBR DSCP优先级 智能选路--全局路由策略 1.基于链路带宽的负载分担 2.基于链路质量进行负载分担 3.基于链路权重进行负载分担 4.基于链路优先级的主备备份 ​编辑 DNS透明代理 就近选路 我们希望在访问不同运营商服务器时&#xff0c;通过对…

使用机器学习算法检测交易中的异常行为

交易中的异常检测意味着识别交易或相关活动中的异常或意外模式。这些模式被称为异常或异常值&#xff0c;明显偏离预期规范&#xff0c;可能表明存在不规则或欺诈行为。 异常检测在各种业务中发挥着至关重要的作用&#xff0c;尤其是那些涉及金融交易、在线活动和安全敏感操作…

SVG 字体 – SVG symbol(16)

简介 symbol 元素用来定义可重用的标记。嵌套在symbol中的形状不会显示,除非其被use元素引用。 例子 <svg width="500" height="100"><symbol id

002-00-01【大红ai源码】如何阅读dolphinscheduler源码------by孤山村头王大爷家女儿大红

【ai阅读源码-dolphinscheduler】 大红&#xff1a;你知道dolphinscheudler 吗大红&#xff1a;如何阅读dolphinscheduler 的源码 大红&#xff1a;你知道dolphinscheudler 吗 通义灵码&#xff1a; 是的&#xff0c;我知道DolphinScheduler。DolphinScheduler&#xff08;海豚…

TensorFlow Lite中文本分类在Android上的实践

#1 Tensorflow Lite TensorFlow Lite(后续简称TFL) 是 Google 开发的一个用于移动设备和嵌入式设备的开源库,旨在为移动终端设备提供机器学习推断。它是 TensorFlow 框架的轻量级版本,专门优化了模型的大小和性能,以适应资源受限的移动设备和嵌入式系统。 TFL 提供了一种在移…

go包与依赖管理

包&#xff08;package&#xff09; 包介绍 Go语言中支持模块化的开发理念&#xff0c;在Go语言中使用包&#xff08;package&#xff09;来支持代码模块化和代码复用。一个包是由一个或多个Go源码文件&#xff08;.go结尾的文件&#xff09;组成&#xff0c;是一种高级的代码…

LiveGBS流媒体平台GB/T28181功能-支持配置开启 HTTPS 服务什么时候需要开启HTTPS服务

LiveGBS功能支持配置开启 HTTPS 服务什么时候需要开启HTTPS服务 1、配置开启HTTPS1.1、准备https证书1.1.1、选择Nginx类型证书下载 1.2、配置 LiveCMS 开启 HTTPS1.2.1 web页面配置1.2.2 配置文件配置 2、验证HTTPS服务3、为什么要开启HTTPS3.1、安全性要求3.2、功能需求 4、搭…

【python】使用aiohttp库编写一个简单的异步服务器

1. aiohttp介绍 aiohttp 是一个用于编写异步 HTTP 客户端和服务器的 Python 库。它建立在 Python 的 asyncio 库之上&#xff0c;提供了一种方便的方式来处理异步请求和响应。 官网地址&#xff1a;Welcome to AIOHTTP — aiohttp 3.9.1 documentation 以下是 aiohttp 的一些…

大模型微调报错:RuntimeError: expected scalar type Half but found Float

微调chatglm 报错RuntimeError: expected scalar type Half but found Float 1. 背景 博主显卡&#xff1a;3090 最初的设置&#xff1a;bfloat16 开始训练后&#xff0c;线性层报错 2. 解决: 统一代码中所有精度 1&#xff09;将模型和数据精度都设置为torch.float32/torc…