摘要:(1)pom.xml添加依赖 <!-- springboot - Redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifa 阅读全文
posted @ 2020-11-25 22:24 zeng1994 阅读(8) 评论(0) 推荐(0) 编辑
摘要:公司有个SpringBoot项目需要加个监控,网上找了下发现大家都在推荐SpringBootAdmin。SpringBoot Admin是开源社区孵化的项目,用于对SpringBoot应用的管理和监控。SpringBoot Admin 分为服务端(spring-boot-admin-server)和 阅读全文
posted @ 2020-11-25 21:24 zeng1994 阅读(37) 评论(0) 推荐(0) 编辑
摘要:项目组一同事负责的一个小项目需要Session共享,记得我曾经看过标题如“一个注解搞定Session共享”的文章。我便把之前收藏的一篇Spring Session+ Redis实现session共享的文章发给了他。30分钟后,本以为一切都顺利,却发现登录时从session中取验证码的code值取不到 阅读全文
posted @ 2020-10-03 18:30 zeng1994 阅读(365) 评论(1) 推荐(1) 编辑
摘要:公司有个项目,需要和几个第三方系统对接。这种项目,日志一定要记录详细,不然出了问题就是各种甩锅。虽然项目里面和第三方系统对接相关的业务记录的日志很详细,但是由于整个项目的日志都在一个文件中,排查问题时比较麻烦。因此希望可以把这些和第三方对接的日志生成在另外一个单独的文件。这也就是标题中的实现按业务输出日志到不同的文件,下面开始讲解具体的实现方案。一、方案 由于需要按业务生成不同的日志... 阅读全文
posted @ 2019-12-11 22:53 zeng1994 阅读(4257) 评论(4) 推荐(0) 编辑
摘要:看到一个面试题,说说Class.forName() 与 ClassLoader.loadClass()的区别,特意记录一下,方便后续查阅。 在我们写java代码时,通常用这两种方式来动态加载一个java类,它们是Class.forName() 与 ClassLoader.loadClass()。 但是这两个方法之间也是有一些细微的差别,下面通过写代码实践的方式来看看结果。一、Clas... 阅读全文
posted @ 2019-12-11 22:50 zeng1994 阅读(423) 评论(0) 推荐(0) 编辑
摘要:EasyPoi可以很方便的通过一个word模板,然后通过填充模板的方式生成我们想要的word文档。但是碰到了一个单模板生成多页数据的场景,比如一个订单详情信息模板,但是有很多订单,需要导入到一个word里面,提供给用户下载这个word文档。这就需要进行word合并了,Easypoi可以生成多个XWPFDocumenmt,我们将它合并成一个就行了。 特意找了下Easypoi官方文档,没... 阅读全文
posted @ 2019-09-20 21:10 zeng1994 阅读(3525) 评论(0) 推荐(0) 编辑
摘要:因工作需要,采用JavaFx开发了一个windows窗口程序。在开发过程中,由于没有引入日志框架,只能自己手动在控制台打印些信息,给调试带来了很多麻烦;因此决定引入日志框架。由于之前接触的项目大部分都是javaWeb项目,web项目的日志输出已经难不倒我了。但普通java项目日志输出配置还是第一次接触,因此记录下整个过程,方便后续借鉴。 技术概述:采用Sl4j作为日志门面,Log4j... 阅读全文
posted @ 2019-07-30 23:36 zeng1994 阅读(3244) 评论(0) 推荐(0) 编辑
摘要:JWT(json web tokens)是目前比较流行的跨域认证解决方案;说通俗点就是比较流行的token生成和校验的方案。碰巧公司有个app的项目的token采用了jwt方案,因此记录下后端项目集成jwt的过程,方便后续查阅。一、jwt的简单介绍 jwt生成的token是一种无状态的token,服务端不需要对该token进行保存;它一般由客户端保存。客户端访问请求服务时,服务端对t... 阅读全文
posted @ 2019-07-14 19:57 zeng1994 阅读(1830) 评论(2) 推荐(1) 编辑
摘要:从2014年java8发布到现在已经有几个年头了,现在java11都发布了。公司最近把服务器环境重新搭建了一遍,jdk版本也从7换成了8,终于可以在代码里面写Lambda表达式了。作为一名java开发人员,java8的一些新东西也是必须要掌握的,今天就说说这Lambda表达式的使用。一、Lambda表达式简介(1)定义Lambda是一个匿名函数,我们可以把Lambda表达式理解为一... 阅读全文
posted @ 2019-06-19 11:19 zeng1994 阅读(600) 评论(2) 推荐(2) 编辑
摘要:最近碰到个这样的需求,需要同一套代码适配个版本数据库(数据库不同,且部分表的字段及关联关系可能会不同),即这套代码配置不同的数据库都能跑。项目采用的框架为SpringBoot+Mybatis。经过一番思考,思路如下: (1)在业务层(service)和数据访问层(Mapper)之间添加一层适配层,用来屏蔽数据库的差异 (2)适配层中代码均采用接口加实现类的方式,不同的数据库用的... 阅读全文
posted @ 2019-05-28 12:41 zeng1994 阅读(2484) 评论(1) 推荐(1) 编辑