草庐IT

一下明白@GetMapping、@PostMapping、@PutMapping、@DeleteMapping注解

全部标签

Java操作MyBatis-Plus通过自定义拦截器对mysql字段以注解形式实现自动加解密

一.需求背景跟大学室友闲谈时,了解到他公司正在做项目内对数据库敏感字段实现自动加解密的需求,使用的技术是Springboot,Mybatis-Plus,MySql等技术栈,加密算法是用的AES,密钥是放在华为云,这里实现一个阉割版的demo,仅供有兴趣的同学进行参考。二.前置条件首先我自己在日常搭了一个普通的springboot项目,目前还没有前台,所以就在浏览器请求tomcat模拟接口。其次,这里的是实现主要是应用了Mybatis的拦截器,AES算法,mysql等技术栈,需要了解一下相关背景。1.AES算法AES的全称是AdvancedEncryptionStandard,意思是高级加密标准

【业务功能篇78】微服务-前端后端校验- 统一异常处理-JSR-303-validation注解

5.前端校验我们在前端提交的表单数据,我们也是需要对提交的数据做相关的校验的Form组件提供了表单验证的功能,只需要通过rules属性传入约定的验证规则,并将Form-Item的prop属性设置为需校验的字段名即可校验的页面效果前端数据校验就搞定了。后端校验也是不可避免的6.后端服务校验6.1JSR-303介绍  JSR是JavaSpecificationRequests的缩写,意思是Java规范提案。是指向JCP(JavaCommunityProcess)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。

@PreAuthorize注解详解

@PreAuthorize注解会在方法执行前进行权限验证,支持SpringEL表达式,它是基于方法注解的权限解决方案。只有当@EnableGlobalMethodSecurity(prePostEnabled=true)的时候,@PreAuthorize才可以使用,@EnableGlobalMethodSecurity注解在SPRING安全中心进行设置,如下: /***SPRING安全中心*@authorROCKY*/@EnableGlobalMethodSecurity(prePostEnabled=true,securedEnabled=true)publicclassSecurityCo

详解@Override注解

目录1.是什么2.为什么用3.举例说明1)示例一2)示例二3)示例三1.是什么@Override注解是伪代码,用于表示被标注的方法是一个重写方法。@Override注解,只能用于标记方法,并且它只在编译期生效,不会保留在class文件中。@Override检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。@Override注解标记的方法声明,如果没有覆写或者实现超类的方法声明,或者不是覆写Object的public方法,那么编译就会报错。使用@Override注解,有助于我们尽早发现这样的错误:本来想声明一个“覆写”方法,却偶然声明成“重载”方法。2.为

记录一下谷歌浏览器在mac启动台生成网页图标的问题

记录一下谷歌浏览器在mac启动台生成网页图标的问题如图所示:谷歌浏览器会在启动台中生成YouTube等网站的图标,个人看起来很烦,给大家提供一下删除方法!Finder->前往->个人(Shift+Command+H)然后就可以打开了:个人(专属的)文件夹里面有个:应用程序Application其中有Chrome应用删掉即可转载注明出处,谢谢

springboot整合多数据源的配置以及动态切换数据源,注解切换数据源

在许多应用程序中,可能需要使用多个数据库或数据源来处理不同的业务需求。SpringBoot提供了简便的方式来配置和使用多数据源,使开发人员能够轻松处理多个数据库连接。如果你的项目中可能需要随时切换数据源的话,那我这篇文章可能能帮助到你ℹ️:这里对于pom文件中坐标的引入我就不多赘言了配置文件1️⃣:properties文件中#数据源配置spring.datasource.mysql.primary.url=jdbc:mysql://127.0.0.1:3351/tally_book?characterEncoding=utf8&serverTimezone=UTCspring.datasour

swift - 为 MapKit 中的每个注解添加 Id

我需要为map中的每个注释添加一个Id以通过单击注释中的信息按钮打开新的ViewController,我的问题是准备和执行segue,我创建了它,但我不知道如何通过id到segue。我为注释创建了子类来存储来自JSON的ID那是我的部分代码:从JSON获取所有数据:forlocationinself.locations{letannotation:MyAnnotation=MyAnnotation()annotation.title=location["truck_name"]as?Stringannotation.customTruckId=location["truck_id"]a

SpringBoot简单使用切面类(@aspect注解)

💡简介SpringBoot中的AOP(AspectOrientedProgramming,面向切面编程)可以让我们实现一些与业务逻辑无关的功能,如日志、事务、安全等。💡特点把这些跨切面关注点抽取出来,实现解耦。使用切面承载这些功能的实现,而不污染业务逻辑。在定义好的切入点JoinPoint,执行这些功能,比如方法调用前后。SpringAOP实现了动态代理,无需修改源码即可集成这些切面逻辑。常用的切面功能有日志记录、性能统计、安全控制、事务管理等。在SpringBoot中可以通过@Aspect、@Pointcut等注解声明切面。通过@Before、@After、@Around定义Advice实现

Spring Boot单元测试使用MockBean注解向Service注入Mock对象

1.背景介绍我们在测试时有一个Service,我们需要测试Service,但Service内部依赖ServiceA、ServiceB,此时我们希望MockServiceA,ServiceB注入真实对象。classService{privateServiceAA;privateServiceBB;publicintmethodA(){returnA.a();}publicintmethodB(){returnB.b();}}2.使用@MockBean注解来模拟依赖对象在SpringBootTest中使用@Spy注解标记Service对象,但是其余真实对象无法注入,因为@Spy注解只能部分模拟对象

SpringAOP的JoinPoint类、Proceedingjoinpoint 类详解,AOP环绕通知获取注解信息

一、JoinPoint类、Proceedingjoinpoint类1、在使用springboot写AOP的时候,有个JoinPoint类,用来获取代理类和被代理类的信息。JointPoint是程序运行过程中可识别的点,这个点可以用来作为AOP切入点。JointPoint对象则包含了和切入相关的很多信息。比如切入点的对象,方法,属性等。我们可以通过反射的方式获取这些点的状态和信息,用于追踪tracing和记录logging应用信息。#返回目标对象,即被代理的对象ObjectgetTarget();#返回切入点的参数Object[]getArgs();#返回切入点的SignatureSignatu