SSM
文章平均质量分 91
crossoverJie
会crossover的程序猿
展开
-
SSM(三)Shiro使用详解
前言相比有做过企业级开发的童鞋应该都有做过权限安全之类的功能吧,最先开始我采用的是建用户表,角色表,权限表,之后在拦截器中对每一个请求进行拦截,再到数据库中进行查询看当前用户是否有该权限,这样的设计能满足大多数中小型系统的需求。不过这篇所介绍的Shiro能满足之前的所有需求,并且使用简单,安全性高,而且现在越来越的多企业都在使用Shiro,这应该是一个收入的你的技能库。创建自定义MyRealm类有关原创 2016-07-15 14:54:25 · 4252 阅读 · 0 评论 -
SSM(十七) MQ应用
前言写这篇文章的起因是由于之前的一篇关于Kafka异常消费,当时为了解决问题不得不使用临时的方案。总结起来归根结底还是对Kafka不熟悉导致的,加上平时工作的需要,之后就花些时间看了Kafka相关的资料。何时使用MQ谈到Kafka就不得不提到MQ,是属于消息队列的一种。作为一种基础中间件在互联网项目中有着大量的使用。一种技术的产生自然是为了解决某种需求,通常来说是以下场景: 需要跨进程通信原创 2017-11-02 11:33:23 · 908 阅读 · 0 评论 -
SSM(十六) 曲线救国-Kafka消费异常
前言最近线上遇到一个问题:在消费kafka消息的时候如果长时间(大概半天到一天的时间)队列里没有消息就可能再也消费不了。针对这个问题我们反复调试多次。线下模拟,调整代码,但貌似还是没有找到原因。但是只要重启消费进程就又可以继续消费。解决方案由于线上业务非常依赖kafka的消费,但一时半会也没有找到原因,所以最后只能想一个临时的替换方案:原创 2017-09-06 00:07:31 · 1527 阅读 · 0 评论 -
SSM(十五) 乐观锁与悲观锁的实际应用
前言随着互联网的兴起,现在三高(高可用、高性能、高并发)项目是越来越流行。本次来谈谈高并发。首先假设一个业务场景:数据库中有一条数据,需要获取到当前的值,在当前值的基础上+10,然后再更新回去。 如果此时有两个线程同时并发处理,第一个线程拿到数据是10,+10=20更新回去。第二个线程原本是要在第一个线程的基础上再+20=40,结果由于并发访问取到更新前的数据为10,+20=30。这就是典型的存在原创 2017-07-10 11:06:38 · 562 阅读 · 0 评论 -
SSM(十二) dubbo日志插件
前言在之前dubbo分布式框架中讲到了如何利用dubbo来搭建一个微服务项目。其中还有一些值得优化提高开发效率的地方,比如日志: 当我们一个项目拆分为N多个微服务之后,当其中一个调用另一个服务出现了问题,首先第一步自然是查看日志。 出现问题的有很多情况,如提供方自身代码的问题,调用方的姿势不对等。 自身的问题这个管不了,但是我们可以对每一个入参、返回都加上日志,这样首先就可原创 2017-04-25 17:13:00 · 1595 阅读 · 0 评论 -
SSM(十四) 基于annotation的http防重插件
前言针对于我们现在常用的RESTful API通常我们需要对请求进行唯一标识,也就是每次都要带上一个请求号,如reqNO。对于入库这种操作数据库的请求我们一般要保证他的唯一性,一个请求号通常只能用一次,所以需要我们对这种请求加上校验机制。原创 2017-05-24 20:31:43 · 596 阅读 · 0 评论 -
SSM(十三) 将dubbo暴露出HTTP服务
前言通常来说一个dubbo服务都是对内给内部调用的,但也有可能一个服务就是需要提供给外部使用,并且还不能有使用语言的局限性。比较标准的做法是对外的服务我们统一提供一个openAPI,这样的调用方需要按照标准提供相应的appID以及密钥来进行验签才能使用。这样固然是比较规范和安全,但复杂度也不亚于开发一个单独的系统了。这里所讲到的没有那么复杂原创 2017-05-03 22:36:44 · 10853 阅读 · 6 评论 -
SSM(十一) 基于dubbo的分布式架构
前言现在越来越多的互联网公司还是将自己公司的项目进行服务化,这确实是今后项目开发的一个趋势,就这个点再凭借之前的SSM项目来让第一次接触的同学能快速上手。浅谈分布式架构分布式架构单看这个名字给人的感觉就是高逼格,但其实从历史的角度来分析一下就比较明了了。原创 2017-04-07 00:48:02 · 10746 阅读 · 0 评论 -
SSM(十) 项目重构-互联网项目的Maven结构
前言很久没有更新博客了,之前定下周更逐渐成了月更。怎么感觉像我追过的一部动漫。 这个博文其实很早就想写了。 之前所有的代码都是在一个模块里面进行开发,这和maven的理念是完全不相符的,最近硬是抽了一个时间来对项目的结构进行了一次重构。 先来看看这次重构之后的目录结构为什么需要分模块 至于为什么要分模块呢?我们设想一个这样的场景: 在现在的互联网开发中,会把一个很大的系统拆分成各个原创 2017-03-04 00:45:54 · 1240 阅读 · 0 评论 -
SSM(九)反射的实际应用-构建日志对象
前言相信做Java的童鞋或多或少都听过反射,这也应该是Java从入门到进阶的必经之路。但是在我们的实际开发中直接使用它们的几率貌似还是比较少的,(除了造轮子或者是Spring Mybatis这些框架外)。所以这里介绍一个在实际开发中还是小有用处的反射实例。传统日志有关反射的一些基本知识就不说了,可以自行Google,也可以看下反射入门。日志相信大家都不陌生,在实际开发中一些比较敏感的数据表我们需要对原创 2017-01-19 00:25:59 · 1471 阅读 · 0 评论 -
SSM(八)动态切换数据源
前言 在现在开发的过程中应该大多数朋友都有遇到过切换数据源的需求。比如现在常用的数据库读写分离,或者就是有两个数据库的情况,这些都需要用到切换数据源。手动切换数据源使用Spring的AbstractRoutingDataSource类来进行拓展多数据源。该类就相当于一个dataSource的路由,用于根据key值来进行切换对应的dataSource。下面简单来看下AbstractRouting原创 2017-01-05 01:36:50 · 8114 阅读 · 15 评论 -
SSM(七)在JavaWeb应用中使用Redis
前言由于最近换(mang)了(de)家(yi)公(bi)司接触了新的东西所以很久没有更新了。 这次谈谈Redis,关于Redis应该很多朋友就算没有用过也听过,算是这几年最流行的NoSql之一了。 Redis的应用场景非常多这里就不一一列举了,这次就以一个最简单的也最常用的 缓存数据 来举例。原创 2016-12-18 23:23:49 · 17167 阅读 · 3 评论 -
SSM(六)跨域传输
前言不知大家在平时的开发过程中有没有遇到过跨域访问资源的问题,我不巧在上周就碰到一个这样的问题,幸运的是在公司前端同学的帮忙下解决了该问题。什么是跨域问题?原创 2016-10-18 01:10:33 · 4487 阅读 · 0 评论 -
SSM(五)基于webSocket的聊天室
不知大家在平时的需求中有没有遇到需要实时处理信息的情况,如站内信,订阅,聊天之类的。在这之前我们通常想到的方法一般都是采用轮训的方式每个一定的时候向服务器发送请求从而获得最新的数据,但这样会浪费掉很多的资源并且也不是实时的,于是随着HTML5的推出带来了websocket可以根本的解决以上问题实现真正的实时数据。websocket是什么?至于websocket是什么、有什么用这样的问题一Gogg原创 2016-09-01 00:53:30 · 3337 阅读 · 0 评论 -
SSM(四)WebService入门详解
webservice这个不知道大家首次接触的时候是怎么理解的,反正我记得我当时第一次接触这个东西的时候以为又是一个XX框架,觉得还挺高大上。然而这一切在之后我使用过后才发现这些全都是YY。那么webservice到底是什么呢,根据我自己的理解:简单来说就像是一个公开的接口,其他系统不管你是用什么语言来编写的都可以调用这个接口,并可以返回相应的数据给你。就像是现在很多的天气应用,他们肯定不会自己去搞一个气象局之类的部原创 2016-07-28 17:35:51 · 7047 阅读 · 2 评论 -
SSM(一)框架的整合
前言最近这几年JetBrains公司开发的IDEA是越来越流行了,甚至Google的官方IDE都是IDEA来定制的,可见IDEA的发展趋势是越来越好,由于博主接触IDEA的时间也不长,所以有关IDEA和Eclipse的区别和优劣势请自行百度了。 借此机会我就使用IDEA来整合一下SSM,针对于初学者(初次使用IDEA和JAVAEE初学者)还是有帮助的。新建SSM项目哦对了,关于IDEA的版本问题强原创 2016-07-08 14:25:24 · 3052 阅读 · 0 评论 -
SSM(二)Lucene全文检索
前言 大家平时肯定都有用过全文检索工具,最常用的百度谷歌就是其中的典型。如果自己能够做一个那是不是想想就逼格满满呢。Apache就为我们提供了这样一个框架,以下就是在实际开发中加入Lucene的一个小Demo。获取Maven依赖首先看一下实际运行的效果图: 这个项目是基于之前使用IDEA搭建的SSM的基础上进行增加的,建议小白先看下一我。上一篇博客,以及共享在Github上的源码。原创 2016-07-08 14:31:39 · 4866 阅读 · 6 评论 -
秒杀架构实践
前言之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。 本次采用循序渐进的方式逐步提高性能达到并发秒杀的效果,文章较长请准备好瓜子板凳(liushuizhang��)。本文所有涉及的代码:https://github.com/crossoverJie/SSMhttps://github.com/crossoverJie...原创 2018-05-09 10:05:29 · 1082 阅读 · 0 评论