![](https://img-blog.csdnimg.cn/554dd0d44ce643c4a27622da02e6b613.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
EYB后端项目
文章平均质量分 84
项目搭建过程记录详解
喵俺第一专栏
共同学习,共同进步,提高编程技能。另外,有好多优秀的项目练手哦,详细看第一个专栏,里面有很多可作为课设、毕业的项目,希望自己可以帮助到你哦!
展开
-
eyb:Java代码通过FastDFS实现文件上传
StorageServer:是连接FastDFS中的Storage Server它是通过trackerClient并通过传入trackerServer构建的。StorageClient:真正的操作文件的客户端类型,构建的时候通过TrackerServer和StorageSeerver。TranckerServer:是连接FastDFS里面的trackerServer,是通过TrackerClient创建的。所以构建存储服务对象的时候需依赖跟踪器服务对象。CLientGlobal:加载配置文件的。原创 2022-08-21 11:46:24 · 453 阅读 · 0 评论 -
eyb:FastDFS的学习
base_path:是Fdfs的Tracker启动之后,使用的根目录,它要去存储一些信息,它存的信息是卷里面storage 的存储节点 包括卷1,卷2,卷3 每个卷下面有哪些storage 每个storage的IP和对口,它都要存储一下,因为它作为中转掉读的操作,客户端发起写操作的时候,tracker就会调度找到哪一个节点给我们去写操作,然后返回IP和端口,所以它需要把卷下面的存储节点存储一下。原创 2022-08-20 19:07:34 · 326 阅读 · 0 评论 -
eyb:websocket普通配置到更新头像功能实现(六)
什么是在线聊天的功能呢,主要是为了方便大家把生活和工作给区分开,因为如果有在线聊天的话,咱们平时正常工作,在微信里面 有很多工作组,正常的生活跟工作是区分开的,那我们现在就有在线聊天,如果你是工作上找我的话,你可以通过在线聊天找我,私人找我,通过私人的聊天工具找我,尽量的把工作区分开,既然说到在线聊天,就需要说到WebSocket。个人中心做两部分内容,一个是个人中心的常规操作,另一个是更新头像,更新头像的时候会用到FastDFS。定义消息类:ChatMsg类。更新成功之后需要重新登录。原创 2022-08-19 11:49:57 · 685 阅读 · 0 评论 -
eyb:创建邮件发送消息到员工账套功能实现(五)
生产端对应的解决了,现在处理消费端,消费端需要处理的就是幂等性,什么是幂等性呢:就是说我有可能会同时投递id是一样的消息,就是说一条消息呢会投递多次,这个在RubbitMQ中只能说尽量的去避免,比如说上面做的生产端的消息投递,用了定时任务,打个比方我现在发了一条消息,消息处理投递中,刚发完我们这里还没监听到回调的时候,还没去变更状态的时候,我们的定时任务就抓到这条消息,它的状态是0,它会重新走定时任务重新发送,这个时候会发送两次,消息是一样的id也是一样的,这样有两条消息,我们消费端是消费一次还是两次呢?.原创 2022-08-18 22:35:53 · 410 阅读 · 0 评论 -
eyb:RubbitMQ学习2
生产者发送消息给交换机,然后由交换机发给绑定他的一个队列,然后被不同的队列后面的消费者所接收,这样我们发送一条消息,消费者接收到的都是一条消息,那么现在又有一个需求,比如会员制,比如说:微信公众号,只有开通会员的才能看的文章,可以推给会员用户,没开会员的职能看一些普通文章。发消息,这边等确认,确认的同时也可以发消息,这个队列确认了之后返回,生产者有一个回调的方法,能够收到你返回的确认消息,进行响应的处理,所以你在等确认的同时,也可以发消息,这就叫异步。确认模式最大的好处是异步的,事务是同步的会降低性能。..原创 2022-08-18 10:53:10 · 147 阅读 · 0 评论 -
eyb:RabbitMQ学习1
加消费者,这就讲到工作队列。ActiveMQ是Apache下的项目,是一个比较老的MQ了,前几年比较流行,现在不行了,因为它的性能没那么高,在小型的项目中使用,要求性能没那么高,但是在高并发的情况下,很容易出现消息的阻塞啊,错误啊,或者其他类型阻塞的情况,它的性能没那么好,我们发现现在啊大数据高并发这种情况到处可见,它就没办法在高并发大数据的情况下发挥好的性能所以现在不怎么用。启动了消费者,消费者,一直处于连接的状态,它要一直去监听这个队列,并不会去关闭,而生产者不一样,是可以关闭的。...原创 2022-08-17 12:20:12 · 516 阅读 · 0 评论 -
eyb:员工管理准备到导入员工数据(四)
员工数据的导入和导出:在实际应用场景中的也是非常常见的,比如说有时候我们需要把员工的数据,不只是一个人,多个人的数据在某个地方去使用,或者同时入职了多位员工,一个一个添加过于繁琐,我们可以按照指定的Excel模板,把员工的数据一条一条的写入,写入之后呢就会批量的插入员工的数据,对于Java而言也会用到这种Excel的处理,当然也不仅仅限于Excel,officce、PPT、等等。IEmployeeService:接口。在添加员工之前需要把这些先查询出来。EmployeeMapper:接口。...原创 2022-08-13 18:58:56 · 245 阅读 · 0 评论 -
eyb:存储过程到更新操作员角色(三)
往这个表里插入一条数据非常的麻烦,可以用到存储过程,在这个表中插入一条正确的语句需要5条sql语句,可以把这些sql语句写入存储过程,相当于一个脚本,把这5条存储语句写进去,在代码离去执行的或只是调用了这个存储过程,再执行sql语句,执行完之后把对应的结果返回给你。使用类似递归的方法,不是java代码的递归,使用xml,用sql语句进行递归,这是MyBatis提供的。添加成功后,父id13的isPartment成功变成了1,添加的内容depPath也正确。删除id=13,会删除失败,因为下面还有子部门。..原创 2022-08-12 09:55:49 · 135 阅读 · 0 评论 -
eyb:Redis集成菜单到权限组菜单更新功能(二)
还有一点需要注意,这里只是查询,如果有时候修改了菜单,虽然菜单很少被修改,如果我们修改了菜单,不管更新菜单,添加菜单,做了任何的修改,都需要把Redis里面的数据清空,然后下次查询的时候呢再次放置进去,如果不清空的话,查询的只是之前的数据,但是你应经修改了,只要你对菜单做任何的修改,都要把Redis里面的数据进行删除。职位管理基本实现完了,但是还是有问题的,我们删除的都是我们刚开始创建的职位信息,比如说删除职位信息,我们删除存在的职位信息id为1的职位信息,会报异常。...原创 2022-08-10 23:44:37 · 414 阅读 · 0 评论 -
eyb:Redis学习(4)
存入的数据:发现存入的数据看不懂。删除没用的目录:看起来简洁一点。创建RedisConfig。:需要另外引入连接池依赖。使用自定义序列化模板。原创 2022-08-09 22:21:06 · 342 阅读 · 0 评论 -
eyb:Redis学习(3)
读写分离相对于单独的服务器而言,有它的优点,它分散了读的压力,提高了可用性,当一个从服务器挂机的时候呢,主服务器和其他从服务器依赖存在,依赖可以提供服务,但是它只是提供了一定的可用性,刚才我们只是说的是从服务器挂机,但是我们主服务器挂机怎么办呢?比如说有3个哨兵,他们去监控主从复用的环境,发现主服务器挂掉之后呢,他们从新选取下面的从服务器一个变成一个新的主服务器,让这个新的主服务器去提供读写能力,当你之前的主服务器,重新启动后它会变成从服务器。修改目录:dir /opt//redis/data。...原创 2022-08-09 09:24:22 · 272 阅读 · 0 评论 -
eyb:Redis学习(2)
通过Java代码操作Redis,通过客户端使用命令比较少创建springbooot项目,选择依赖:redis依赖默认继承的是Lettuce客户端,我们先学习Jedis客户端区别:Jedis是直连连接的,直接连接到Redis服务器,在多个线程上是共享一个Jedis实例的,所以这个时候线程是不安全的,所以你想在多线程场景下使用Jedis需要使用连接池,每个线程都会使用自己的Jedis实例, 当你的连接数增多的时候呢,会消耗比较多的物理资源 Jedis并发不安全。...原创 2022-08-08 21:58:08 · 147 阅读 · 0 评论 -
eyb:Redis的学习(1)
有了Redis可以把验证码放到redis里面,登录的时候输入验证码,和我们redis中取的验证码进行比较,成功了让你删掉,失败了去做其他操作,redis自带失效时间,设置的时候设置3分钟失效,不用像原来写定时任务,判断验证码是否失效,到时见自动失效,来减少代码的编写量,失效时间是一个重要的功能。:key是student 获取0-2的数据,2是不存在的只能获取到0-1的数据。redis-cli -h :表示连接远程的IP地址-指定访问的IP地址。存入的数据是乱排序的,获取的数据不是我们存储的顺序。...原创 2022-08-07 22:04:19 · 173 阅读 · 0 评论 -
eyb:创建过程:搭建环境到显示菜单(一)
目录:(1)搭建环境、JWT工具类(2)返回公共对象(3)登录之后返回token(4)获取当前登录用户的信息(5)配置Security登录授权过滤器(6)Security自定义返回结果(7)Swagger2配置 Swagger的简介(8)Swagger2添加Authorize (9)生成验证码(10)校检验证码 (11)根据用户id查询菜单列表现在通过逆向工程,把项目中需要使用到的一些pojo类,Mapper接口、xml、service接口、controller等等创建好之后,全部放到yeb-原创 2022-08-07 10:26:09 · 228 阅读 · 0 评论 -
eyb:JWT介绍
上面我们已经创建了token,在web应用中呢,这种操作一般是有服务端进行,然后发送给客户端,客户端下次再向服务端发送请求的时候呢,就会携带token,就想电影院看电影,我们创建token的过程中就相当于把票token给客户,那客户进场看电影之前,还需要把票携带过来,我们去验证一下票是不是真的,服务端接收到token,就要解析除token的信息,比如说用户的ID、用户名称等等,根据这些信息我们再去数据库查询,返回响应的结果。token:第一部分是头部信息,第二本分是荷载,第三部分是签名。...原创 2022-08-04 10:13:18 · 179 阅读 · 0 评论 -
eyb:SpringSecurity:Oauth2协议
(1)Oauth2协议简介、 (2)授权模式四种授权模式:第一种:授权吗模式:是这几种中最复杂和最安全的,而实际工作中用的最多的一种例模式。它不是直接去获取令牌,而中间经过授权码的形式,先获取授权码,在经过授权码去获取令牌客户端通过客户代理去我们的授权服务器进行授权,它会携带客户端的标识和重定向的URI,到了授权服务器之后呢,会需要用户进行授权,也就是资源拥有者进行用户授权,授权之后呢,授权服务器会根据用户授权的结果返回一个授权码,这时候还没有拿到令牌,只是拿到授权码,客户端那这个授权码和重定向URI再去我原创 2022-08-03 18:07:04 · 146 阅读 · 0 评论 -
eyb:SpringSecurity的使用(四)
Thymeleaf是一个现代服务器端Java模板引擎,适用于Web和独立环境,能够处理HTML,XML,JavaScript,CSS甚至纯文本。Thymeleaf的主要目标是提供一种优雅且高度可维护的模板创建方式。为实现这一目标,它以自然模板的概念为基础,将其逻辑注入模板文件,其方式不会影响模板被用作设计原型。这改善了设计沟通,缩小了设计和开发团队之间的差距。Thymeleaf也从一开始就设计了Web标准-特别是HTML5-允许您创建完全验证的模板,如果您需要的话。...原创 2022-08-02 19:40:04 · 180 阅读 · 0 评论 -
eub:SpringSecurity的使用(二)
登录成功后的跳转页面,他必须是一个Post请求,所以我们在Controller里面写了一个跳转页面的方法,进行页面的响应跳转,但是大部分的项目都是前后端分离的,基本上不会用Controoller做页面跳转了,都是一个站外的跳转,比如跳转到www.baidu.com,通过sucessForwordUrl()是不能进行跳转的,那么怎么实现我们的这个需求呢?虽然我们写了登录逻辑,但是登录页面还是SpringSecurity是它自带的登录了页面,那么在实际项目中呢都会我们自己的登录页面。..............原创 2022-08-01 21:12:13 · 243 阅读 · 0 评论 -
eub:SpringSecurity的使用(三)
我们项目里面有一个后台管理系统,而这个后台管理系统的只能根据我们指定的一台服务器上面去进行登录,去进行一些响应的操作,这台服务器的IP地址是固定的,那我们呢可以通过IP地址进行权限的控制,如果不是这个IP地址,我们不允许你访问。这里我们演示的时候本机的IP地址是多变得,得到的IP地址是不一样的,但是在实际工作中呢,服务器那边的IP地址是固定的,不可能想本机一样测出多个,只会出现一个。对用户具备某些角色就进行访问,否则就403,角色也就是在自定义登录逻辑的时候就有的,定义角色必须以ROLE_开头,固定。...原创 2022-08-02 10:17:55 · 703 阅读 · 0 评论 -
eyb后端项目搭建(一)
在开发功能之前,我们会根据表的字段去创建pojo类,类名和表名相对应,字段和属性相对应,同时会创建Mapper接口、Mapper.xml、Service接口、service的实现类,以及Controller,以及我们还会把单表的增删改查补充完整,单表的增删改查,项目中基本都会用到,这样的工作对于我们是大量且重复的工作,那么有什么办法省略这些操作呢?采用Maven聚合的项目,有一个父工程,父工程下面有子项目,第一个项目是yeb逻辑的项目,第二个是邮箱的项目,还好有逆向工程的项目。这里选中maven的模板。..原创 2022-08-01 11:16:14 · 189 阅读 · 0 评论