框架篇
文章平均质量分 68
智_永无止境
来和大家一起学习
展开
-
myabtis流式查询
流式处理在大数据方面应用比较广泛。随着数据的爆发式增长,流式处理的方式也被应用到日常的工具中,如JDK的对于集合处理的Stream流、Redis5.0新增的数据结构Stream专门来处理消息等。流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。今天要分享的是Mybaits的流式查询。Mybatis流式查询通过使用游标一次处理一条数据的方式,减少了内存的占用,从而提高了大数据量查询的效率。原创 2023-11-02 13:33:20 · 241 阅读 · 0 评论 -
分布式链路追踪Skywalking
Skywalking是一个国产的开源框架,2015年有吴晟个人开源,2017年加入Apache孵化器,国人开源的产品,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目,支持Java、.Net、NodeJs等探针,数据存储支持,H2、Mysql、Elasticsearch、TiDB等,跟Pinpoint一样采用字节码注入的方式实现代码的无侵入,探针采集数据粒度粗,但性能表现优秀,且对云原生支持,目前增长势头强劲,社区活跃。原创 2023-03-09 09:50:42 · 792 阅读 · 0 评论 -
微服务项目结构最佳实践
微服务项目中,我们会把项目细化,按照功能模块拆分成不相同的微服务,每一个微服务都是一个独立的moudle。该moudle的既是服务也是应用,也就是我们原始的单体项目架构。每一个moudle不复杂的时候,这样的拆分就可以了。但是,当moudle里面的配置较多的时候,其实还可以针对moudle继续细分。下面就按照继续细分的思路展开说明。2、拆分思路按照应用层、服务层、持久层以及公用层拆分成四大模块。原创 2023-02-07 16:22:34 · 852 阅读 · 0 评论 -
基于Canal+kafka监听数据库变化的最佳实践
工作中,我们很多时候需要根据某些状态的变化更新另一个业务的逻辑,比如订单的生成,成交等,需要更新或者通知其他的业务。我们通常的操作通过业务埋点、接口的调用或者中间件完成。但是状态变化的入口比较多的时候,就很容易漏掉某些地方。代码维护起来也比较麻烦。今天介绍阿里出品的【canal】中间件完成数据库字段的监听。原创 2022-12-22 15:55:06 · 2974 阅读 · 0 评论 -
基于Feign接口的全链路拦截器
单体应用时,我们经常会把一些共享数据,比如登录信息等放在session里面,当然也可以放在ThreadLocal里面。随着业务复杂度的提高,分布式应用越来越主流。单机的存储的思想已经不适用了,共享session应运而生,比如nosql、session复制等技术方案。分布式架构中SpringCloud使用尤为广泛。如果想通过Feign接口的调用隐式的传递一些参数,比如用户ID、名称,接口的验签等,我们应该怎么实现呢。今天通过传递用户名到feign服务端,来使用来实现, 同时对比一下web的拦截器的区别。原创 2022-11-16 19:17:42 · 4594 阅读 · 1 评论 -
SpringCloud Feign传递Date参数时差问题的解决方案
使用SpringCloud的朋友,再试传递Date参数的时候,有没有遇到时间差的问题呢原创 2022-10-09 18:04:11 · 3518 阅读 · 2 评论 -
优雅的处理参数校验以及异常
return new JsonResult(false, "参数memberSid为空");}return new JsonResult(false, "参数test为空");}相同的参数在不同的地方运用就是出现类型的冗余的代码。如果我们要快速开发要么把参数校验复制一份出来,要么抽成公用的方法。重复的代码本来就是代码重构和优化的一个表象,所以这种方式本身不可取。抽成公用方法确实是一个不错的方法,但是未能从本质像解决。由此,看能不能使用框架的技术去解决这样问题。原创 2022-10-08 15:03:15 · 1020 阅读 · 0 评论 -
重试框架spring-retry的探索与揭秘
1、前言 在项目中,我们经常会遇到网络波动,或者调用第三方接口偶尔异常的情况。为了保证数据的可用性、程序的及健壮xing原创 2021-06-11 19:08:32 · 664 阅读 · 0 评论 -
Springboot源码分析(二)
梳理springboot的启动流程图:原创 2020-06-03 21:54:45 · 170 阅读 · 0 评论 -
Springboot集成Kafka的简单使用
1、简介 Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。在消息队列中,Kafka具有强大的吞吐量。2、初体验 Kafka2.3.0 包结构: 在bin下有WIN平台和Linux的启动脚本,在此以WIN...原创 2019-09-06 15:24:05 · 1187 阅读 · 0 评论 -
优雅的使用SpringCloud
1、前言 SpringCloud 是现在比较流行的微服务架构,随着微服务的流行,更多企业也从传统的架构向微服务架构转型。转型的过程中,为了兼容之前的服务架构,部分企业选择了双注册中心(指Dubbo和Cloud)。所以开发者在改造的时候,非常掣肘,只能在原来的基础上做一些调整。最后代码看起来有点似驴非马的感觉,当然这是对于一个有代码洁癖的人的感觉,哈哈哈。。。功能当然是完全OK的。...原创 2019-08-02 14:23:55 · 256 阅读 · 0 评论 -
springboot集成mybatis注解开发,thymeleaf的简单使用
1、前言之前玩过使用xml配置文件集成mybatis,这次为了集成thymeleaf模板,选用简单的注解完成数据库的查询。集成工具无非是引入依赖,添加配置完成此相关功能。玩过之后,记录一下学习的过程,以备后续使用。2、依赖引入使用springboot开发,建议装上springboot相关的插件,这样能省去很多操作。 <dependency>...原创 2018-10-29 10:39:47 · 950 阅读 · 0 评论 -
基于webmagic爬虫的简单编写
1、前言前一段时间修改了一个项目的功能,项目基于webmagic编写的爬虫。于是开始一些学习。现在整理整理(该项目基本笔者的csdn博客的爬取为例),算是从小白到入门吧。之前使用httpclient和jsoup玩过一点点,但是感觉好麻烦。而webmagic无需配置,直接就可以二次开发,比较简单,容易上手。2、webmagic的编写思路主要流程分三步走:设置抓取数据的链接,以及解析数据。这个主要使用...原创 2018-04-20 12:13:24 · 1674 阅读 · 0 评论 -
springboot 学习之集成mybatis
1、前言spring data jpa针对单独的表使用注解开发比较简单,笔者一直以为mybatis才是持久层正确的打开方式。下面整理一下springboot集成mybatis。2、开发准备引入依赖:(也可以使用插件直接选择)<!-- mybtais 集成依赖 --><dependency> <groupId>org.mybatis.spring.boot&l...原创 2018-04-09 13:14:19 · 434 阅读 · 0 评论 -
springboot 学习之集成JPA
1、前言springboot自己集成JDBC和JPA,使用的时候只需要配置相关的文件就好了。JDBC模板使用起来比较麻烦不是很常用,JPA用起来相对容易一点。2、开发准备我们两种方式开发,一种就是使用原来的maven直接引入依赖去开发,以另一种就是使用STS插件建立springboot项目,勾选JPA和mysql,项目建立的时候就会自动导入依赖。<!-- 数据库驱动 --><d...原创 2018-03-30 16:02:30 · 3337 阅读 · 2 评论 -
springboot 学习之项目搭建
1、前言spring团队出品的框架,基本都是一些特别优秀的框架。从官网上,可以看到springboot是新出的一个框架。用过springboot的都知道,该框架简化springmvc繁琐的文件配置,用起来比较方便,被业界称为【JAVA EE 开发的颠覆者】。今天,特地学习了一下。2、学习准备IntelliJ IDEA对springboot的支持比较好,有专门的springboot项目。eclips...原创 2018-03-23 14:52:46 · 322 阅读 · 0 评论 -
springmvc框架环境的简单搭建
1、前言springmvc框架是一个独立的web框架,是spring容器的一个子容器。2、springmvc依赖的jar包创建maven工程,导入web框架所需要的依赖坐标:<!-- 这是springmvc的依赖,包含了spring所需要的核心依赖--><dependency> <groupId>org.springframework</groupId> <artifact原创 2017-03-14 11:03:16 · 397 阅读 · 0 评论 -
solr7在tomcat上的部署
1、前言 solr是基于lucence的企业级搜索服务器。之前使用的都是4.x版本,但是在5.x之后solr的目录结构已经发生了变化,不在提供war包。所以在tomcat部署的时候,稍有区别。尤其现在的最新版本已经是7.x了,部署的时候有一些变化。2、solr7.1.0的示例启动由于solr本身集成了jetty服务器,所以可以直接启动。在solr的bin文件加下执行:solr start在文件原创 2017-10-31 11:40:36 · 6374 阅读 · 3 评论 -
SSM框架环境的简单搭建
1、前言SSM框架是企业中常用的框架,是SpringMVC+Spring+Mybatis框架的整合。框架的的核心思想就是将各个独立的框架都交给spring容器进行管理。2、SSM框架需要的依赖(pom.xml)<!-- 主要包含六部分内容: springmvc子容器的依赖(包含了spring容器的依赖),以及数据处理的依赖; mybatis以及和spring原创 2017-03-28 14:51:14 · 695 阅读 · 0 评论