
java后端开发
文章平均质量分 78
java后端开发相关
摸鱼那些事儿
个人博客:https://guangyin.blog/
展开
-
springboot扩展消息转换器
这里我们以时间格式处理为例,在前后端数据传递过程中,时间格式处理是经常会遇到的配置类设置// 创建一个消息转换器对象 MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();// 设置对象转换器,可以将java对象转换为json字符串 converter . setObjectMapper(new JacksonObjectMapper());原创 2024-08-19 17:11:22 · 630 阅读 · 0 评论 -
开发安全的 API 所需要核对的清单
PUT(替换/更新)转载 2024-08-19 17:05:35 · 113 阅读 · 0 评论 -
WebSocket
*思考:**既然WebSocket支持双向通信,功能看似比HTTP强大,那么我们是不是可以基于WebSocket开发所有的业务功能?它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建。**结论:**WebSocket并不能完全取代HTTP,它只适合在特定的场景下使用。WebSocket 是长连接,受网络限制比较大,需要处理好重连。WebSocket 是基于 TCP 的一种新的。服务器长期维护长连接需要一定的成本。4). 股票基金报价实时更新。3). 体育实况更新。原创 2024-08-19 17:01:57 · 610 阅读 · 0 评论 -
spring Task
spring Task是springboot提供的一种定时任务工具,可以定时处理一些任务,即可以按照约定的时间自动执行某个代码逻辑,如超时订单,一直派送中的订单的处理。只要是需要定时处理的场景都可以使用Spring Task。3). 火车票售票系统处理未支付订单。4). 入职纪念日为用户发送通知。2). 银行贷款每月还款提醒。1). 信用卡每月还款提醒。原创 2024-08-18 16:54:06 · 345 阅读 · 0 评论 -
spring cache缓存
/原创 2024-08-18 16:53:39 · 394 阅读 · 0 评论 -
HttpClient在springboot中的使用
【代码】HttpClient在springboot中的使用。原创 2024-08-18 16:51:33 · 270 阅读 · 0 评论 -
Apache POI后端处理
Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。一般情况下,POI 都是用于操作 Excel 文件。银行网银系统导出交易明细各种业务系统导出Excel报表批量导入业务数据。原创 2024-08-18 16:50:47 · 467 阅读 · 0 评论 -
线程局部变量ThreadLocal
在前后端处理过程中,由于http协议是无状态的,不会保存上次操作的信息,所有但我们经常需要当前登录用户的一些信息,如id,所有就需要从jwt令牌中获取这些信息,但是总不能每次在每一个使用的地方都解析一次令牌吧,这难免有些麻烦,这里介绍一个更方便的方法。原创 2024-08-18 16:49:19 · 261 阅读 · 0 评论 -
springboot微信支付
*JSAPI下单:**商户系统调用该接口在微信支付服务后台生成预支付交易单(对应时序图的第5步)mchidappidnotify_urlamountpayer一个长字符串**微信小程序调起支付:**通过JSAPI下单接口获取到发起支付的必要参数prepay_id,然后使用微信支付提供的小程序方法调起小程序支付(对应时序图的第10步)packageprepay_idpaySignappidtimeStampnonceStrpackageappidappidappid。原创 2024-08-18 16:48:31 · 967 阅读 · 0 评论 -
XML映射文件
在日常使用中,通过注释的方式使用简单sql语句可能足够了,但是如果遇到比较复杂的sql语句,注释就显得力不从心了,例如动态sql语句,xml映射文件解决了注释sql的缺点。原创 2024-08-18 16:31:35 · 761 阅读 · 0 评论 -
redis在springboot中使用
log.info(“菜品分页查询:{}”, dishPageQueryDTO);自定义键值对的使用示例:根据查询条件生成键值。原创 2024-08-18 16:29:45 · 275 阅读 · 0 评论 -
Redis常用数据类型总结
命令描述示例具体使用示例SET设置指定键的值GET获取指定键的值GET keyGET mykeyINCR将指定键的值加1(该值必须是整数)INCR keyDECR将指定键的值减1(该值必须是整数)DECR keyMSET同时设置多个键值对MGET获取所有(一个或多个)给定键的值APPEND将值追加到指定键的值末尾STRLEN获取指定键的值的长度STRLEN keySETRANGE用指定的字符串覆盖键中指定的偏移量开始的值GETRANGE返回存储在键中的字符串的子字符串。原创 2024-08-18 16:28:41 · 915 阅读 · 0 评论 -
解决Redis反序列化问题
你可以确保在将对象序列化为 JSON 并存储在 Redis 中时,包含类型信息。这样,当 Jackson 从 Redis 中读取数据时,可以正确地将 JSON 反序列化回原始的 Java 对象,从而避免类型转换异常。本文介绍解决Redis反序列化报错。原创 2024-08-18 16:24:49 · 697 阅读 · 0 评论 -
三层架构与分层解耦
三层架构分别是Service层由于我们的规范是一个函数只做一件事情,所以才会细 分出以上的三层架构从上面我们跨域看出我们发现三层都放在了一起,这样显得程序可维护性不高这样就显得条例清晰,利于维护。原创 2024-06-16 09:40:27 · 810 阅读 · 0 评论 -
MySQL动态sql
mybatis使用xml映射文件创建动态sql语句。原创 2024-06-16 09:39:43 · 1973 阅读 · 0 评论 -
全局异常处理
场景,在web项目中,如果后端操作数据发生错误时,返回的错误不符合开发规范,所有前端是无法识别和处理的,所有我们有必要创建一个全局处理异常的函数用于处理异常,将异常包装成前端能够识别的样式。其中,由于@RestControllerAdvice注解包含了ResponseBody注解,所有返回的数据使用JSON的数据返回的,符号开发约定规范,前端能够处理。设置全局异常处理的函数格式是固定的,直接使用就行,其中有两个类很重要。常常配合自定义异常枚举类使用。原创 2024-06-15 23:28:16 · 247 阅读 · 0 评论 -
springboot事务操作
事务处理就是将一个方法中的全部操作当初一个整体,如果其中一个地方报出异常,我们就需要回滚回之前的操作,防止数据混乱,数据缺失。原创 2024-06-15 23:25:41 · 1087 阅读 · 0 评论 -
springboot原理篇-bean管理
以前,如果我们想将一个类交给IOC容器管理,只需要在类上加上@Component以及它的这三个衍生注解(@Controller、@Service、@Repository),就可以来声明这个bean对象,但是第三方bean无法修改,只有只读权限,就只能另寻他法了。了解即可,默认情况下,SpringBoot项目在启动的时候会自动的创建IOC容器(也称为Spring容器),并且在启动的过程当中会自动的将bean对象都创建好,存放在IOC容器当中。如果第三方bean需要依赖其它bean对象,根据类型获取bean。原创 2024-06-15 23:20:55 · 780 阅读 · 0 评论 -
springboot原理篇-springboot
SpringBoot的自动配置就是当Spring容器启动后,一些配置类、bean对象就自动存入到了IOC容器中,不需要我们手动去声明,从而简化了开发,省去了繁琐的配置操作,以下就是springboot项目在启动时自动添加的bean对象前面我们通过学习bean管理可以知道,在我们使用第三方库的时候,是需要导入配置文件的,这些配置文件中定义了我们需要添加的bean对象,如果没有这个配置文件,而仅仅是在pom文件中添加坐标是不行的,那么我们如何导入这个配置文件呢?springboot提供了如下方法。原创 2024-06-15 23:18:34 · 1638 阅读 · 4 评论 -
springboot原理篇-配置优先级
在SpringBoot项目当中,常见的属性配置方式有5种, 3种配置文件,加上2种外部属性的配置(Java系统属性、命令行参数)。也就是说,优先级低的配置文件如果和优先级高的配置文件定义相同的配置信息,那么优先级高的会覆盖掉优先级低的配置文件。优先级: 命令行参数 > 系统属性参数 > properties参数 > yml参数 > yaml参数。思考:如果项目已经打包上线了,这个时候我们又如何来设置Java系统属性和命令行参数呢?上述的配置文件中,生效的端口是8082,yaml文件中的端口不会被启用。原创 2024-06-15 23:10:44 · 723 阅读 · 0 评论 -
AOP面向切面(方法)编程
快速入门:以下示例是计算DeptServiceImpl每一个方法执行的时间效果如下我们创建一个切面类,当的方法被调用时,AOP框架(如Spring AOP)会生成目标对象的。这个代理对象会拦截对目标对象方法的调用,然后执行这个代理对象中的函数(称为通知),这个代理对象中的函数就是我们在切面类中定义的函数(例如这里的TimeAspect),当通过代理对象调用方法时,代理对象会先执行切面类中定义的通知(如前置通知后置通知环绕通知等),这里的@Around就是环绕通知,然后再执行目标对象的原方法。原创 2024-06-15 23:08:11 · 1121 阅读 · 0 评论 -
过滤器和拦截器处理跨域问题
【代码】过滤器和拦截器处理跨域问题。原创 2024-06-15 22:57:57 · 364 阅读 · 0 评论 -
过滤器和拦截器的基本知识
前提提要,由于过滤器和拦截器的相关函数是没有返回值的,所以我们像前端返回数据时需要使用到中的相关函数,且需要配合阿里巴巴的插件fastjson将返回信息转为json格式,或者使用gson转为json。原创 2024-06-15 22:56:39 · 497 阅读 · 0 评论 -
Javaweb登录校验
场景:当我们想要访问一个网站时,我们一般都需要进行登录验证,这时候就会涉及到一系列的问题什么时候进行登录校验?登录校验你该如何实现?如何设计高效,高健壮性的校验方式?进行登录校验时,你是以什么方式进行数据传递的?如何实现数据的传递。原创 2024-06-15 22:53:13 · 897 阅读 · 0 评论 -
spring boot后端开发基础
我们在这个类中处理前端发送过来的请求,例如,我们可以创建一个HelloController类来处理前端发送过来的请求。原创 2024-04-19 19:39:14 · 2374 阅读 · 0 评论 -
mybatis使用
在配置文件文件中添加数据库连接信息常用注释@Select@Results@Results@Param。原创 2024-04-19 18:50:51 · 353 阅读 · 0 评论 -
JavaScript基础
与java中不一样的是,JavaScript中数组相当于java中的集合,数组的长度是可以变化的。**需要注意的是:**在js中,0,null,undefined,“”,NaN理解成false,反之理解成true。在js中,绝大多数的运算规则和java中是保持一致的,但是js中的==和===是有区别的。//substring(start,end) --- 开始索引, 结束索引 (含头不含尾)splice()函数用来数组中的元素,函数中填入2个参数。//true ,类型一样,值一样。splice()函数。原创 2024-04-19 18:49:12 · 1293 阅读 · 0 评论 -
Vue项目搭建
vue是JavaScript的一个框架快速创建vue项目的先决条件:安装node.js。原创 2024-04-19 18:44:36 · 1076 阅读 · 0 评论