多线程编程CompletableFuture与parallelStream
摘要:一、简介 平常在页面中我们会使用异步调用$.ajax()函数,如果是多个的话他会并行执行相互不影响,实际上Completable我理解也是和它类似,是java 8里面新出的异步实现类,CompletableFuture类实现了Future接口,CompletableFuture与Stream的设计都
阅读全文
IDEA项目搭建十三——服务消费端与生产端通信实现
摘要:一、简介 之前已经完成了EurekaClient的服务生产者和Feign的服务消费者模块的搭建,现在实现统一的通信约定 (1) 统一Request结构 (2) 统一Response结构 (3) 统一Error通知 二、代码 1、创建统一请求对象ServiceRequest<>实际参数就是这个泛型,使
阅读全文
IDEA项目搭建十二——站点用户登录会话实现
摘要:一、简介 前两天写了一篇用户登录会话设计的脑图,这次就把这个引入到项目中实现,总体来说需要几步先罗列一下: 1、需要一个Cookie工具类用于读写cookie 2、需要一个Cache工具类用于在服务端保存用户会话 3、需要一个UserSession管理类用于操作用户会话的登入与登出等 4、需要一个B
阅读全文
用户登录设计 单点登录 记住密码等
摘要:最近项目用户登录的要求有所提高,必须单实例登录,要提供记住密码功能,用户登录后会有交易所以必须尽可能提高安全性,所以设计了一下用户登录结构 IP:用户IP,用于区分用户登录所在位置 User:用户名(用户名+Id的Hash串),用于识别用户 Token:用户口令(MD5离散随机数),用于区分单实例登
阅读全文
相同类名称但不同包启动报错
摘要:错误描述:conflicts with existing, non-compatible bean definition of same name and class 看错误描述是相同的类名冲突,它自己不会分辨包,我们可以自己加注解来区分他们
阅读全文
IDEA项目搭建十一——添加拦截器、忽略URL大小写、启动事件
摘要:程序启动时如果需要添加某些初始化代码可以使用以下事件处理 过滤用户登录状态验证时普遍使用拦截器或过滤器spring boot 2.0使用以下方式 注入拦截器到web中
阅读全文
IDEA项目搭建七——使用Feign简化消费者端操作
摘要:一、简介 我们可以看到上一篇文章的消费者这边调用Service时比较麻烦,所以我们可以使用Feign来简化这部分操作,它底层也是使用Ribbon实现的只是Ribbon支持HTTP和TCP两种通信协议,而Feign只支持HTTP一种,同样支持负载均衡,所以能满足90%以上的需求了。 二、搭建生产者模块
阅读全文
java enum使用方法
摘要:直接上手吧,注释都写清楚了 编写枚举类 编写调用main()
阅读全文
IDEA项目搭建十——使用slf4j和logback进行日志记录
摘要:、简介 java里面日志分为两部分一个门面、一个实现,我们所熟知的SLF4j、Log4j、Log4j2、Logback的日志组件slf4j是门面提供的统一的入口,具体实现由log4j、log4j2、logback来实现 log4j由于太老作者自己也不打算重构了所以放弃 log4j2是apach的一个
阅读全文
IDEA项目搭建九——MybatisPlus多数据库实现
摘要:一、简介 MybatisPlus中引用多数据库时,传统的配置就失效了,需要单独写配置来实现,下面就说一下具体应该如何操作 二、引入MybatisPlus多数据源配置 还是先看一下我的项目结构,Model是单独的模块,请自行创建 1、创建一个Maven项目,修改pom.xml文件增加对spring b
阅读全文
IDEA项目搭建八——使用MybatisPlus简化数据库交互
摘要:一、MybatisPlus简化数据库交互 我们使用Mybatis发现需要在mapper.xml中写很多重复的简单CRUD(增删改查),使用MybatisPlus可以大大简化这部分代码,官方文档http://mp.baomidou.com/ 二、引入MybatisPlus 先看一下我的项目结构,我们一
阅读全文