随笔分类 - springboot
摘要:本次发表文章距上次发表已近有两月有余,原因是两月前离开了上家公司(离开原因可能会在年终终结叙述,本篇暂且忽略),来到了现在所在的京东集团,需要花时间熟悉环境和沉淀一下新的东西,因此写文章也暂时没那么勤奋了,不得不说这次是机遇也是对自己职业生涯的一次重要决定。 话说本篇内容主要分享的是自定义方法参数的
阅读全文
摘要:本篇分享数据库主从方案,案例采用springboot+mysql+mybatis演示;要想在代码中做主从选择,通常需要明白什么时候切换数据源,怎么切换数据源,下面以代码示例来做阐述; 搭建测试环境(1个master库2个slave库) DataSource多数据源配置 设置mybatis数据源 拦截
阅读全文
摘要:本篇分享的内容是在相同类中方法间调用时Aop失效处理方案,该问题我看有很多文章描述了,不过大多是从事务角度分享的,本篇打算从日志aop方面分享(当然都是aop,失效和处理方案都是一样),以下都是基于springboot演示; 快速定义个日志Appender 快速定义个拦截器和日志注解(aop) 模拟
阅读全文
摘要:本篇分享内容是关于生成分布式Id的其中之一方案,除了redis方案之外还有如:数据库,雪花算法,mogodb(object_id也是数据库)等方案,对于redis来说是我们常用并接触比较多的,因此主要谈谈结合redis生成分布式id方案。 分布式Id设计流程图 基于redis的hash自动incre
阅读全文
摘要:本篇和大家分享的是关于rabbit的生产和消费方的一些实用的操作;正如文章标题,主要内容如producer的confirm和consumer的ack,这两者使用的模式都是用来保证数据完整性,防止数据丢失。 producer的confirm模式 consumer的ack模式 producer的conf
阅读全文
摘要:本章内容主要分享多个module中的实体类集合生成到一个jar包中,并且发布到远程库;这里采用maven-assembly-plugin插件的功能来操作打包,内容不长却贴近实战切值得拥有,主要节点内容如: 多个module实体类集合打jar包 jar包打入本地库 jar包上传至远程库 多个modul
阅读全文
摘要:本篇分享的是es官网推荐的es客户端组件RestHighLevelClient的使用,其封装了操作es的crud方法,底层原理就是模拟各种es需要的请求,如put,delete,get等方式;本篇主要分享常用查询,希望能给大家带来好的帮助; 分页查询 条件查询 文本模糊匹配 时间范围匹配 超时设置
阅读全文
摘要:本篇和大家分享的是自定义log4j的appender,用es来记录日志并且通过kibana浏览es记录;就目前互联网或者一些中大型公司通常会用到第三方组合elk,其主要用写数据到es中,然后通过可视化工具kibana来做直观数据查看和统计;本篇内容节点如下: docker快速搭建es,es head
阅读全文
摘要:本篇内容主要讲解的是redis分布式锁,这个在各大厂面试几乎都是必备的,下面结合模拟抢单的场景来使用她;本篇不涉及到的redis环境搭建,快速搭建个人测试环境,这里建议使用docker;本篇内容节点如下: jedis的nx生成锁 如何删除锁 模拟抢单动作(10w个人开抢) jedis的nx生成锁 对
阅读全文
摘要:本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作; profiles指定不同环境的配置 maven-assembly-plugin打发布压缩包 分享shenniu_publish.sh程序启动工具 linux上使用shenn
阅读全文
摘要:本篇和大家分享jwt(json web token)的使用,她主要用来生成接口访问的token和验证,其单独结合springboot来开发api接口token验证很是方便,由于jwt的token中存储有用户的信息并且有加密,所以适用于分布式,这样直接吧信息存储在用户本地减速了服务端存储sessiio
阅读全文
摘要:本篇和大家分享的是通过maven对springboot中打war包和jar包;war通常来说生成后直接放到tomcat的webapps下面就行,tomcat配置自动解压war,而jar一般通过命令行部署和启动; 首先,来实战怎么生成war包,主要来说可以分为3个步骤: 程序入口改造 排除spring
阅读全文
摘要:本篇分享如何使用maven便利我们打springboot的发布包;我这里使用的是idea开发工具,首先创建了多个module的项目结构,如图: 要对多个module的项目做打包,一般情况都是在父级pom中配置打包的插件,其他module的pom不需要特别的配置,当配置完成后,点击idea中maven
阅读全文
摘要:现目前java中用较多的数据库操作框架主要有:ibatis,mybatis,hibernate;今天分享的是jpa框架,在springboot框架中能够很快并方便的使用它,就我个人而言觉得如果是做业务不复杂或者为了快速开发的话,选择它比较的不错呢。引入依赖如: 选择已有的数据库中的某个表,并插入一条
阅读全文
摘要:本篇分享的是springboot多数据源配置,在从springboot v1.5版本升级到v2.0.3时,发现之前写的多数据源的方式不可用了,捕获错误信息如: 先来说下之前的多数据源配置如: 配置了两个数据库,在原来默认的datasource节点下面增加了seconddatasource节点的配置,
阅读全文
摘要:本篇主要分享的是springboot中结合aop方式来记录请求参数和响应的数据信息;这里主要讲解两种切入点方式,一种方法切入,一种注解切入;首先创建个springboot测试工程并通过maven添加如下依赖: 先来说方法的切点方式,需要创建个名为LogAspect的组件类,然后用@Aspect注解修
阅读全文
摘要:本次和大家分享的主要是docker搭建es和springboot操作es的内容,也便于工作中或将来使用方便,因此从搭建es环境开始到代码插入信息到es中;主要节点如下: 1.elasticsearch启动 我本机环境是windows10,要挂载es的配置文件需要在本机上创建配置文件,因此这里创建配置
阅读全文
摘要:本篇和大家分享的是一个简易配置中心框架IConfCenter,框架是利用空余时间写的,主要以配置文件+redis存储方式作为数据同步驱动,目前支持的配置文件格式有 .properties 和 .config,后期有时间可能增加 .xml 和 .yml文件的识别。 框架结构简单分为: confserv
阅读全文
摘要:本次和大家分享的是在springboot集成使用redis,这里使用的是redis的jedis客户端(这里我docker运行的redis,可以参考 docker快速搭建几个常用的第三方服务),如下添加依赖: 然后需要redis的相关配置(这里我的redis密码是空),在application.yml
阅读全文
摘要:本次和大家分享的内容是使用docker快速搭建工作中常用的第三方的服务,对于有一些互联网背景的公司来说,以下几个服务都是很需要的:redis,rabbit,elasticsearch; 本篇涉及内容深度只针对于简单的测试环境和程序员自身学习,要继续深入各位可以花时间自行研究,希望本篇内容给大家带来好
阅读全文