SpringBoot
文章平均质量分 71
SpringBoot运用说明
lovoo
不要抱怨生活,只因你还不够努力!
展开
-
Spring 2023面试题(3)-- @RequestMapping的用法
以上示例中,@GetMapping、@PostMapping、@PutMapping 和 @DeleteMapping 是 @RequestMapping 的具体子注解,分别用于处理 GET、POST、PUT 和 DELETE 请求。它们可以组合使用,如 @GetMapping(“/{id}”),表示处理 GET 请求,路径为 /users/{id}。除了处理 HTTP 请求外,@RequestMapping 还可以用于处理 HTTP 请求参数和返回结果。在类上使用时,它指定了处理请求的基本路径。原创 2023-06-28 17:05:54 · 841 阅读 · 0 评论 -
Spring 2023面试题(1)--事务的隔离级别
在 Spring 中,可以通过在事务管理器中设置隔离级别来控制事务的隔离程度。其中,default_隔离级别可以是上述任何一个隔离级别。原创 2023-06-28 14:55:44 · 995 阅读 · 0 评论 -
面试题:分布式事务有哪些方案及运用场景
分布式事务是指涉及多个不同资源或数据库的事务处理,这些资源或数据库分布在不同的网络节点上,通过协调器将多个事务组合成一个分布式事务。分布式事务的目的是确保多个事务操作要么全部成功,要么全部失败,保持事务的一致性和完整性。在分布式事务中,涉及到的节点可能位于不同的计算机、不同的进程或者不同的数据库系统中。事务管理器。本地资源管理器。事务管理器:作为一个全局的调度者,负责对各个本地资源管理器统一号令提交或者回滚。二阶提交协议(2PC)和三阶提交协议(3PC)就是根据此协议衍生出来而来。原创 2023-06-20 11:35:39 · 551 阅读 · 0 评论 -
Springboot分布式事务
本地事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器位于同一节点相同数据库上。又称为传统事务。它是一个操作序列,这些操作要么都执行,要么都不执行,是一个不可分割的工作单位。例如,银行转账工作:从一个帐号扣款并使另一个帐号增款,这两个操作要么都执行,要么都不执行。数据库事务必须具备ACID特性,即原子性、一致性、隔离性和持久性。CAP定理,指的是在一个分布式系统中:一致性(Consistency):在分布式系统中的所有数据备份,在同一时刻是一致的。原创 2023-06-19 14:11:30 · 4711 阅读 · 0 评论 -
Springboot 最新版发送阿里短信教程
【代码】Springboot 最新版发送阿里短信教程。原创 2023-05-29 15:48:59 · 114 阅读 · 0 评论 -
什么是Spring Cache?Spring项目如何使用?
目前Spring Cloud微服务在Web项目中占据了主流地位,如果去面试关于Spring Cloud的岗位时,面试官一般都会提问你的项目是如何优化的,从哪些方面入手去优化。而缓存技术绝对是项目必不可少的,所以我们必须掌握好Java项目的缓存技术。JVM 缓存:JVM 缓存是指 Java 虚拟机为类加载器所创建的缓存。Java 虚拟机通过缓存已经加载的类来提高应用程序的性能。数据库缓存:数据库缓存是指将查询结果缓存在内存中,以便下次查询时可以直接从内存中获取,避免了重复查询数据库的操作。原创 2023-05-19 15:54:14 · 885 阅读 · 0 评论 -
如何设计电商SPU与SKU表以及相关的表?
SPU (Standard Product Unit)即标准化产品单位,是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。SKU(stock keeping unit)即库存量单位,是物理上不可分割的最小存货单元。正因为它在物理上是不可分割的最小存货单元,所以也就可以通过SKU来确定具体的货物存量。原创 2023-05-08 17:00:12 · 5988 阅读 · 3 评论 -
Springboot JSR303校验是怎么回事?
在做项目的过程中,除了要在前端进行数据校验外,服务端也必须做相应的校验,因为高手可绕过前端的校验,直接进入服务端调用相关的方法,进行资料的盗取或破坏。在前端如果使用Vue+ElementUI的方式,ElementUI提供了强大的校验功能,同时也可自定校验,而后端,使用Springboot 框架的项目则提供了JSR303校验,那么什么是JSR303校验?在项目中如何使用?本篇让我进行详细的讲解JSR是Java Specification Requests的缩写,意思是Java 规范提案。原创 2023-05-06 11:42:09 · 672 阅读 · 0 评论 -
使用Springboot+ElementUI实现阿里OSS加密文件上传
目前很多公司采用的都是自己搭建文件服务器,这样既要购买硬件设备,还需要专门的服务器管理员,是一笔不小的开销。自己建服务器,还要收到带宽的限制,如果要到达高可用性,一台机器是不够的,这时还需要购买多台集群,造成资源的浪费。不过,目前阿里云提供了OSS存储功能,优惠、安全,是文件服务器的首选。下面就详细讲述如何实现安全的、组件化的、服务端签名后直传文件上传的方案。原创 2023-05-06 10:40:40 · 1055 阅读 · 0 评论 -
什么是幂等性?如何解决?
就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。在增删改查4个操作中,尤为注意就是增加或者修改,查询对于结果是不会有改变的,删除只会进行一次,用户多次点击产生的结果一样,修改在大多场景下结果一样,增加在重复提交的场景下会出现。原创 2023-05-05 17:11:21 · 1818 阅读 · 0 评论 -
树形结构的三级分类如何实现?
本三级联动分类服务端使用的是: Springboot + MyBatis-plus,前端使用的是:Vue+ElementUI,树形控件使用的是el-tree。本三级联动分类可以把任一拖拽子项到其它目录,可以添加、编辑、删除分类。原创 2023-05-05 10:23:06 · 1828 阅读 · 0 评论 -
SpringCloud微服务的熔断、限流、降级是怎么回事?
在开发公司商城项目时,由于采用的是微服务架构,每个模块之间使用OpenFeign组件进行通信,在遇到高并发时,为了保证系统的可用性和 可靠性,我们使用了阿里的Alibaba的Sentinel组件进行降级、限流和熔断处理。接下来介绍下这三个基本的概念:服务熔断、服务降级和服务限流是怎么回事。原创 2023-05-04 11:03:21 · 938 阅读 · 0 评论 -
SpringCloud微服务如何进行权限校验?
SpringCloud, 基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。原创 2023-05-03 17:43:02 · 2547 阅读 · 1 评论 -
Spring Bean定义有哪些方式?
对于学习Spring的兄弟姐妹来说,觉得这个问题很熟悉,若是要把它回答得很清楚,却是很为难?平时写代码的时候,不会在意这些概念问题,但面试时这个问题出现的频率却是很高,所以还是必须要掌握和理解。总的来说,分三种:1)基于xml的方式2)基于注解的方式3)基于java类的方式。原创 2023-05-02 17:51:19 · 630 阅读 · 0 评论 -
什么是Spring FactoryBean?有什么作用?
Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IOC和AOP为内核。含有七大核心模块spring中有两种Bean:普通Bean和工厂Beanspring提供了一个FactoryBean的工厂类接口,可以通过实现接口来实例化BeanFactoryBean接口中有三个方法①getObject 获取对象②getObjectType 获取对象类型③isSingleton 是否单例。原创 2023-05-02 17:08:22 · 745 阅读 · 0 评论 -
什么是Spring IOC?有什么作用?
IOC的全英文名是:Inversion Of Control ,直译过来就是控制反转,控制反转是把传统上由程序代码直接操控对象(new对象)的调用权交给ioc容器,由容器来实现对象的创建,依赖,销毁,初始化等等。Spring 框架是一个 IOC 容器的实现,DI 依赖注入是它的实现的一个原则,提供依赖查找和依赖注入两种依赖处理,管理着 Bean 的生命周期。Spring 还提供了 AOP 抽象、事件抽象、事件监听机制、SPI 机制、强大的第三方整合、易测试性等其他特性。原创 2023-05-02 09:17:01 · 2707 阅读 · 0 评论 -
什么是SpringBoot自动配置
现在的Java面试基本都会问到你知道什么事Springboot的自动配置。为什么面试官要问这样的问题,主要是在于看你有没有对Springboot的原理有没有深入的了解,有没有看过Springboot的源码,这是区别普通程序员与高级程序员最好的试金石。本篇就让我把什么是Springboot自动装配讲的明明白白。从字面上了解,自动配置的意思是不需要我们手工写代码,所有的配置由Springboot自动完成。怎么实现的呢?原创 2023-04-29 10:52:06 · 5981 阅读 · 0 评论 -
什么是Spring AOP,有什么作用
AOP 面向切面编程,全称 Aspect Oriented Programming ,它是 OOP 的补充,OOP关注的是对象,而AOP的核心是切面(Aspect)。AOP可以在不修改功能代码的本身的前提下,使用运行时代理的技术对已有代码逻辑增强。AOP可以实现组件化,可插拔式的功能扩展,通过简单配置功能增强到指定的切入点。原创 2023-04-30 22:42:01 · 1272 阅读 · 0 评论 -
Springboot 使用断言Assert方式来校验业务的异常情况,消除 if else语句
断言(assert)是一种编程中常用的手段。在通常情况下,断言就是将一个返回值总是需要为真的判别式放在语句中,用于排除在设计的逻辑上不应该产生的情况。比如一个函数总需要输入在一定的范围内的参数,那么程序员就可以对该参数使用断言,以迫使在该参数发生异常的时候程序退出,从而避免程序陷入逻辑的混乱。用断言的方式封装异常的抛出@Slf4j/*** 断言对象不为空* 如果对象obj为空,则抛出异常* @param obj 待判断对象*/} } }MyException 代码@Data//错误码。原创 2023-04-05 21:39:25 · 1978 阅读 · 0 评论 -
Springboot定义统一返回结果
项目中我们会将响应封装成json返回,一般我们会将所有接口的数据格式统一, 使前端对数据的操作更一致、轻松。一般情况下,统一返回数据格式没有固定的格式,只要能描述清楚返回的数据状态以及要返回的具体数据就可以。但是一般会包含状态码、返回消息、数据这几部分内容@Data/*** 构造器私有*/} /*** 返回成功*/return r;} /*** 返回失败*/return r;} /*** 设置特定结果*/return r;原创 2023-04-03 20:58:49 · 363 阅读 · 0 评论 -
Vue+ElementUI+SpringBOOT实现多条件复杂查询
data() {return {queryDates: [ ] , //保存日期信息key: null, //主表搜索queryField: null, //查询字段itemKey: null, //明细查询内容queryItemField: null, //明细查询字段payType: null, //支付方式 类型saleUser: null, //营业员selectField: null, //选择查询字段selectValue: null, //选择查询值。原创 2023-03-20 10:59:11 · 3647 阅读 · 0 评论 -
基于Vue的ElementUI级联显示以及数据回显
前言在我们做项目时,可能会遇到许多树形展示的数据,在编辑时要求选择当前数据所在的上级,这时就要用到级联,如图:如何实现这种功能?在这里分三部份来说明,数据及实体类,前端展示,后台数据查询。一、创建相关实体类及数据表1、创建商品分类表:CREATE TABLE `mall_pms`.`pms_category` ( `cat_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '分类id', `name` char(50) CHARACTER S原创 2021-06-20 11:10:21 · 5154 阅读 · 0 评论 -
SpringBoot实现后台字段验证、统一错误处理、分组验证、自定义验证
1、在项目中引入validator包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <version>2.3.7.RELEASE</version> <原创 2021-06-18 14:24:54 · 456 阅读 · 0 评论 -
Web跨域请求及SpringBoot项目解决方案
具体内容参照:https://blog.csdn.net/ppxin/article/details/94717173SpringBoot项目解决方案方法一、SpringBoot的注解@CrossOrigin(也支持SpringMVC)@RestController@CrossOrigin@RequestMapping("/product")public class ProductController extends BaseController{ @Autowired p.原创 2021-06-15 14:30:44 · 1184 阅读 · 0 评论 -
thymeleaf页面使用shiro标签实限权限控制
1、引入标签:<html lang="zh_CN" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">2、使用标签//作为属性控制<button type="button" shiro:authenticated="true" class="btn btn-outline btn-default"> <i class="glyphicon g原创 2021-05-11 14:24:01 · 1466 阅读 · 0 评论 -
使用Redis和token实现保持登录状态
1、登录后存储用户对象的redis函数 @Autowired private StringRedisTemplate redisTemplate; @PostMapping(value = "/login") public R login(UserInfo userInfo){ String uuid = Utils.getUUID(); String value = JSON.toJSONString(userInfo); str原创 2021-04-29 09:48:08 · 1462 阅读 · 0 评论 -
SpringBoot框架WebMvcConfigurationSupport与WebMvcConfigurer详解
1. 前言WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的spring mvc配置,需要创建一个配置类并实现WebMvcConfigurer 接口;在Spring Boot 1.5版本都是靠重写WebMvcConfigurerAdapter的方法来添加自定原创 2021-04-22 13:52:24 · 2618 阅读 · 0 评论 -
使用Shardingsphere与mybatisPlus 在SpringBoot项目中实现读写分离
前言:当云产品使用的用户越来越多时,会面临页面加载缓慢甚至系统假死的问题,不断会有客户投拆,造成客户流失。但初创企业又没有资金去搞分布式,购买更多的服务器,而且数据优化已达极限,这时我们就得考虑读写分离,分库分表的策略,来减少对同一数据库的访问的压力。1、首先要使用MySQL搭建主从数据库参照本人博客https://blog.csdn.net/lovoo/article/details/115447598?spm=1001.2014.3001.55012、创建项目,如图:3、配置gradle,原创 2021-04-13 10:59:14 · 2121 阅读 · 0 评论 -
Springboot MyBatisPlus以及Druid配置多数据源
前言:我们在开发项目时,有时不止访问一个数据库,可能会同时连接多个数据库。如果通过写接口的方式进行访问,如果其中一个项目中断,则会影响系统的运行,如果解决这种问题呢?最好的方式就是直接访问数据库,这样不但效率高,而且可以减少大量的开发任务。一、数据库配置文件目录,如图:二、文件内容详情1、DataSourceAspect/** * 使用切面进行数据库切换 * @author charlin * @version 0.01 */@Aspect@Component@Slf4jpub原创 2021-04-07 10:28:00 · 1437 阅读 · 0 评论 -
JAVA SpringBoot(3)--- JPA 总结
1、需要添加相应的依赖包; 在pom.xml文件中配置2、需要在application.properties文件添加配置信息; 看JAVA SpringBoot(2)3、需要创建一个实体类,比如Cat;@Entitypublic class Cat { @Id @GeneratedValue private Integer id; private String原创 2017-09-27 20:09:16 · 216 阅读 · 0 评论 -
jAVA SpringBoot(2)---application.properties数据库配置
###########################################################datasource -- \u6307\u5b9amysql\u6570\u636e\u5e93\u8fde\u63a5\u4fe1\u606f.########################################################spring.da原创 2017-09-26 22:20:58 · 995 阅读 · 0 评论 -
jAVA SpringBoot(1)---pom.xml文件基本配置
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/原创 2017-09-26 22:02:13 · 2973 阅读 · 0 评论