
Spring
文章平均质量分 63
分享Spring
CodeJames
重庆大学研究生毕业,从事IOT后台开发,同名G.Z.H
展开
-
还在用MySQL存日志?
随着智能硬件成本降低和互联网网络的发展,在生活中场景的设备都已接入了网络中,其中传感器成为了设备获取外界信息的眼睛,网络成为设备交流的桥梁。在设备的交互中,往往存在着触发源,即标识控制指令的来源,在后端开发中,除了进行功能逻辑处理外,其中日志记录也非常重要,但是怎样去记录也非常的关键。比如用户在`APP`端点击了某个功能开关,场景的执行记录等等,这些云端都需要进行记录。这些记录在排查客诉的时候就能起到至关重要的作用,而不用大海捞针无脑去排查。接下来列举`2`中记录日志的方式,推荐第二种方式,介绍一个中心原创 2023-04-28 15:47:36 · 979 阅读 · 0 评论 -
使用OpenFeign实现接口访问
在微服务横行的年代,后端根据业务的不一样分成了很多单独运行的服务,比如在物联网中,根据业务拆分为定时服务、设备控制等服务。当前端想控制设备时,其请求首先到其对应的后端服务,后端服务再调用设备控制服务,才能实现业务需求。原创 2023-04-22 22:05:29 · 2169 阅读 · 0 评论 -
真实的后端服务
虽然具体的业务逻辑是在web后端进行处理的,但是在前后端交互的时候,两者之间是存在一整个链路。真正的一个系统并不是只有前端和后端组成,它们只是这个系统的最前和最后的两个点,在之间还有很多服务发挥着作用。比如阿里云的SLB(Server load Balance)服务,为系统提供可靠的服务起到至关重要的作用、比如kong起着鉴权的作用。原创 2023-04-07 23:27:53 · 521 阅读 · 0 评论 -
搭建SpringBoot和Mysql Demo
在上一篇文章中,介绍了如何搭建一个SpringBoot项目;本篇文章,在上一篇文章的基础上,接着介绍下怎样实现SpringBoot和MySQL的整合。在后端开发中,数据库开发是绕不开的话题,开发中很多的时间都是在和数据库打交道。比如APP传递的数据需要进行持久化,方便下一次来获取;存储设备运行日志,将设备的执行日志存放到数据库中,方便排查错误,开放接口方便用户进行自主查询。因此,接下来就来搭建一个SpringBoot和MySQL项目,并且在结尾的地方会指出新手会触犯的一些规范。原创 2023-04-05 15:31:45 · 800 阅读 · 0 评论 -
如何搭建一个SpringBoot项目
来简单介绍一个Spring Boot Demo项目,包括Spring Boot框架的基本特性和功能。其中Spring Boot是一个流行的基于Java的框架,它简化了Spring应用程序的开发和部署,是企业级开发的首选框架。原创 2023-04-02 15:20:44 · 581 阅读 · 0 评论 -
如何实现接口调用的重试
在控制设备的时候,常规的方式是利用同步控制的方式,当下发控制后,需等待控制结果;但随之会造成主线程阻塞,在大量控制中可能出现批量失败的情况,造成严重损失。因此,在控制流量很大的情况下,常采用异步控制的方式。异步方式将控制下发和结果回调进行拆分,所以主线程不会受到影响,并且能被动知道控制的结果,服务能力得到很大提升。因此为了提高回调的可用性,在回调的时候会尝试重试请求,保证结果的一致性。其中有个结果回调,用于告知主线程此时的控制结果。因此,在上图中的回调,就不能直接告知控制结果,而是将控制的参数放入。原创 2023-04-02 09:59:26 · 533 阅读 · 0 评论 -
搭建一个中心化的定时服务
综上所述,一共讨论了两种定时的实现方式,所有的操作都是基于SpringBoot框架实现的;每种方式都要自己的优势所在,可以根据自己业务的难易进行选择;以上的步骤亲测可以实现,欢迎留言讨论。原创 2023-03-11 18:05:03 · 506 阅读 · 0 评论 -
SpringBoot框架中的ParseJson
在目前开发主流中,数据在前后端,各个服务间之间沟通的时候都是采用json格式的数据格式。但我们在程序中处理的时候,json并不能原创 2022-11-25 16:37:10 · 342 阅读 · 0 评论 -
SpringBoot之SpringBootVersion
在启动`SpringBoot`项目的时候,在`Console`中打印出来`SpringBoot`的版本号,那他是怎样实现的呢?一起来看看吧。原创 2022-09-10 17:16:16 · 2399 阅读 · 0 评论 -
一文了解BeanNameGenerator
在springboot的项目中,我们会使用到很多的注解,比如@Service,@Bean等,添加这些注解SpringBoot框架会帮忙创建bean,并且用唯一的名字来区分,那我们就来看看源是怎么实现的吧。原创 2022-08-30 17:57:39 · 636 阅读 · 0 评论 -
SpringBoot中的Banner(Banner)
继续跟踪:里面有两个方法,一个是获取资源,另一个是获取类加载器。已经被封装,看看是用的那个方法。代码如下:一个打印的方法,一个模式的选择:关掉不打印、打印到。那这个是怎么实现的呢?在这两个方法中都有一个。方法,都是通过该方法从。接着定位到资源加载器。构造完成之后就是打印。...原创 2022-08-03 22:40:03 · 2250 阅读 · 0 评论 -
利用Java通过阿里云对图片进行内容审核
随着互联网的发展,每个人都在网络上留下了自己的痕迹,在享受网络带来的便利的同时,去维护干净的网络环境也至关重要;目前在网络上会流动数亿的图片,显然使用纯手工去辨别是行不通的,所以如何用服务商提供的服务进行远程在线审核内容呢;现在很多公司都提供云服务,如阿里云就利用深度学习、机器学习搭建了内容审核系统,显示快速、高效地审核内容。原创 2022-02-26 23:41:53 · 4500 阅读 · 5 评论 -
本周小结----20211024
回忆一下近期做项目,主要有Oauth2的授权认证、语音控制python转Java、大屏天气转换V3、AOP后端解密加密。Oauth2的授权认证 对于OAuth2授权是第三方应用想控制我的设备,需要先到我这里获取权限,在获取权限的过程中会弹出一个授权框,输入用户名和密码实现授权。蛮复杂的,涉及到的东西蛮多,Spring security这个过滤器链,蛮复杂,需要自己找到切入点,加入自己的东西;涉及到用什么来生成授权码Code,用什么来存储token,这个也是唯一一个能在界面上体现的项目。原创 2021-10-24 11:03:57 · 140 阅读 · 0 评论 -
再谈OAuth授权
再谈OAuth授权工作场景流程大家都知道OAuth是用于第三方授权的,当你用其他的APP想访问微信账号的昵称、粉丝、联系人等信息,这里就需要微信进行授权,此时在APP的网页端是可以发现有微信登录的,点开会出现弹框,在弹框中输入用户名和密码,此时即同意授权,会直接到微信授权服务端获取授权码Code,接着通过302重定向到redirect,并且把生成的code加入到redirect的后面,此时链接会访问到APP的服务端,此时APP服务器会利用截取到的code到微信的授权服务器,对code进行验证,验证通过就原创 2021-09-23 20:40:04 · 233 阅读 · 0 评论 -
近期工作总结
近期工作总结刚工作,还没有能力承担一个项目,近期自己实现了一个用户的认证登录和AOP的日志实现功能;该项目可以在我的github主页中找到:https://github.com/codexwj/registerlogin/首先是AOP日志,实现的功能是当运行方法时,在方法的前面和后面都会打印相应的参数日志,比如:开始的时间,结束时间、输入的参数、返回的参数等内容。具体的实现:利用利用@Aspects注解注释一个类,表示对该类是一个AOP。在该类中定义@Pointcut(),即,定义切面,表示原创 2021-09-07 22:01:24 · 117 阅读 · 0 评论 -
Spring IOC容器中依赖注入(Dependency Infection, DI)(1)
在Spring框架中,IOC容器怎样实现控制反转,降低系统之间的耦合性?,因此依赖注入的方式必须要了解。原创 2021-08-10 11:45:10 · 122 阅读 · 0 评论 -
IOC容器思维-图
IOC容器思维众所周知,Spring框架在现今的后端开发是非常重要的,怎样去学懂一个框架是非常费时间的,但在了解整个框架思维的基础上可以达到事半功倍的效果,自己最近也看了看Spring的源码,看源码的时候不推荐直接去看,而是需要理清楚整个的逻辑框架,这是对理解整个Spring是很有帮助的,在整个思路的帮助下再去看Spring源码,效率能得到很大的提升。如图所示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CX67cLZy-1623729106861)(C:\Users原创 2021-06-15 11:52:29 · 191 阅读 · 0 评论 -
SpringBoot、RabbitMQ实现QQ邮件发送
RabbitMQ邮件发送 RabbitMQ流程生产者:负责发送消息到ExchangeExchange:按照一定的策略,负责将消息存放到指定的队列队列queue:负责保存消息消费者:负责将队列中的消息提取binding:负责Exchange和队列的关联映射1.关于邮件的有两个实体类MailConstants:定义了很多关于邮件的常量public class MailConstants { public static final Integer原创 2020-07-25 11:40:55 · 1218 阅读 · 0 评论 -
Spring Security登录验证(项目)
Spring Security登录验证背景本人最近微人事项目进行了学习,记录一下学习的过程,总结一下。首先,这个微人事项目是为了事业单位的人事管理,包括用户登录的权限管理、员工基本资料的增删查改,薪资管理、部门管理等等。接下来总结下权限管理:权限数据库设计这里需要建立5个数据表,分别是资源表、角色表、用户表、资源角色表和用户角色表。资源表menu这是登录之后前端界面可以显示的模块。角色表role认证采用的Spring-Security,所以,英文名需要以ROLE_开头。用户表hr原创 2020-06-20 23:32:41 · 649 阅读 · 0 评论 -
通过外键连接多个表
1.当我们建立一个表格,其中的一项内容可以有多种选择,可以利用外键的方式绑定一个表。如下图比如我们需要建立一个employee表,其中包含很多信息,其中有一项民族可以以外键的方式绑定。2.一个网站需要有不同的操作员进行登录,而且需要显示操作员的基本信息和用户角色。原创 2020-05-04 17:23:32 · 4639 阅读 · 0 评论 -
微人事-持久层
摘要最近将微人事这个开源项目进行了复现,这篇文章记录mybaits访问数据库这一块。其中MyBatis是一个流行的持久层框架,支持自定义SQL、存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码、手动设置参数和检索结果。MyBatis可以使用简单的XML或注释进行配置,实现对数据库的访问。项目结构其中mapper是持久层,model是实体类,service是逻辑层,web是...原创 2020-04-30 21:45:38 · 770 阅读 · 0 评论 -
Spring IOC(入门)
Spring IOC(Inversion of Control):控制反转;在传统的程序设计过程中,当一个程序需要调用另外一个程序来完成功能的时候,通常是调用者来创建被调用者的实例,虽然这样很简单也很好理解,但是程序间的耦合性很高,会导致程序越来越臃肿。在Spring中创建被调用者不再是调用者自己来完成,而是利用java的反射机制,通过配置文件或注解来创建实例,因此被称为控制反转。其中创建被调用者的工作由Spring来完成,注入调用者被称为依赖注入。原创 2020-04-07 22:27:34 · 113 阅读 · 0 评论