spring security(八) session 并发,剔除前一个用户

解决 session 并发问题 ,同时只有一个用户在线。 有一个用户在线后其他的设备登录此用户将剔除前一个用户。强制前一个用户下线。本文代码,是基于 springboot+security restful权限控制官方推荐(五)的代码1.修改security配置添加 SessionRegistry,自己管理SessionRegistry。@Configuration @EnableWebSecuri...
阅读(587) 评论(0)

spring aop注解失效之谜

问题:在spring 中使用 @Transactional 、 @Cacheable 或 自定义 AOP 注解时,会发现个问题:在对象内部的方法中调用该对象的其他使用aop机制的方法,被调用方法的aop注解失效。 这句话可能说的有点拗口,那么我们来看几个 aop 失效的例子吧 事物失效 public class TicketService{ //买火车票 @Transactional...
阅读(423) 评论(0)

mybitis 利用association或collection传递多参数子查询

有时候我们在查询数据库时,需要以查询结果为查询条件进行关联查询。在mybatis 中通过 association 标签(一对一查询,collection 一对多 查询) 实现延迟加载子查询 <association property="destName"...
阅读(175) 评论(0)

springboot缓存 之 从Cache中取出所有条目

背景前两天遇到一个问题,就是将一个 key ,value1、value2 、value3、value4…… 也就是一个 key 多个 value 的数据结构放到 缓存中。这个简单,我就把他们都放到了GuavaCacheManager 缓存中,(GuavaCacheManager可以参考这里 点我 ) 但是在取出数据的时候遇到了一个问题。问题我门知道 GuavaCacheManager 的数据结...
阅读(972) 评论(0)

springboot-AOP

先了解AOP的相关术语: 1.通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。 2.连接点(Joinpoint):程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。 3.切入点(Pointcut)通知定义了切面要发生的“故事”和时间,那么切入点就定义了“故事”发生的地点,例如某个类或方法的名称,Sprin...
阅读(205) 评论(0)

利用java 的动态代理模拟spring的AOP

AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。平常我门需要记录一些操作的日志,需要在操作的业务逻辑代码里嵌入日志模块的代码。这些日志模块的代码与操作的代码逻辑无关,只是做一个记录,而且在其...
阅读(233) 评论(0)

spring 之 自己动手实现IOC

扯淡学 java 的人应该都知道spring,学spring的人呢都应该知道 IOC和 AOP 对吧。今天就简单的说一下spring 的IOC。IoC是Spring框架的核心内容,IoC(Inversion of Control)控制反转,是一种设计思想,DI(依赖注入)是实现IoC的一种方法。 其实spring就是一个容器,一个bean容器。主要是完成了完成对象的创建和依赖的管理注入。什么是控制...
阅读(291) 评论(0)

mybatis 获取更新(update)记录的id 之< selectKey > 用法

问题用mybatis update 记录,更新过后想要更新记录的id 怎么办?平常我门都是更新数据,用更新的条件再查询一次,得到更新的记录。这样我门就进行了两次数据库操作,链接了两次数据库。增加了接口的处理事件,因为链接数据库是很耗时的操作。简介其实可以通过 mybatis 的 selectKey 标签来解决这个问题。 selectKey 这个标签大家基本上都用过,比如在插入数据的时候,返回插入数...
阅读(2643) 评论(0)

spring的multipartResolver和java后端获取的MultipartHttpServletRequest方法对比 (附:遇到的坑)

原文地址: http://www.cnblogs.com/yskcoder/p/4718198.html这两天在用spring进行上传上遇到问题,今天进行了问题的排查,这个过程也增加了我看spring源码的兴趣!还是很有收获的!首先首先先给A组提供了上传接口,并没有在spring的配置文件进行multipartResolver的配置,后台Controller的java的获取为:MultipartR...
阅读(482) 评论(0)

springboot 使用校验框架validation校验

b/s系统中对http请求数据的校验多数在客户端进行,这也是出于简单及用户体验性上考虑,但是在一些安全性要求高的系统中服务端校验是不可缺少的。 Spring3支持JSR-303验证框架,JSR-303 是Java EE 6 中的一项子规范,叫做BeanValidation,官方参考实现是hibernate Validator(与Hibernate ORM 没有关系),JSR 303 用于对J...
阅读(4374) 评论(0)

springboot+security 动态权限修改session立即失效(六)

这个是springboot结合security 系列的第六篇博客了,不知不觉已经写了6篇了。中间有写的很不好,不尽人意。文章的排列也是我遇见问题,解决问题的过程,希望大家见谅。这不,最近出现了这个问题, 一个管理员A登录后,在进行操作,此时管理员B 修改了管理员A 的权限,将管理员A 修改为普通用户,但此时管理员A,需要重新登录权限修改才会起效,但是管理员A此时没有退出登录,还可以进行操作,这就是很...
阅读(2339) 评论(2)

后端(springboot)解决跨域问题

首先我门要知道什么是跨域:跨域是指 不同域名之间相互访问。跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。也就是如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容 如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。什么是同一个域?同一协议,同一ip,同一端口,三同中有一不同就产生了跨域。前端解决跨域:前边也...
阅读(3702) 评论(0)

网站的海量数据和高并发的解决方案(二)

高并发的解决方案除了数据量大,另外一个常见的问题就是并发量高,很多架构就是针对这个问题设计出来的。1.应用和静态资源分离刚开始的时候应用和静态资源是保存在一起的,当并发量达到一定程度的时候就需要将静态资源保存到专门的服务器中,静态资源主要包括图片、视频、js、css和一些资源文件等,这些文件因为没有状态所以分离比较简单,直接存放到响应的服务器就可以了,一般会使用专门的域名去访问。 通过不同的域名可...
阅读(606) 评论(0)

网站的海量数据和高并发的解决方案(一)

现在无论是企业的业务系统还是互联网上的网站程序都面临着数据量大的问题,这个问题如果解决不好将严重的影响系统的运行速度,下面就针对这个问题的各种解决解决方案进行介绍。1. 缓存和页面静态化1.1 缓存数据量大这个问题最直接的解决方案就是使用缓存,缓存就是将数据库中获取的结果暂时保存起来在,在下次使用的时候无需从数据库中提取,这样可以大大降低数据库压力。常用的缓存框架有Ehcache、Memcache...
阅读(539) 评论(0)

springboot-springSecurity 之 http Basic认证 (四)

引言:HTTP基础认证(BA)是一种简单的认证机制。当一个web客户端需要保护任何web资源的时候,服务器会发送一个带有401状态码(未授权)的HTTP回应,还有类似WWW-Authenticate: Basic realm=”realm here” 的 WWW-Authenticate HTTP头。而浏览器这时候就会弹出一个登录对话框,提示输入用户名和密码。1. 修改配置在spring boot项...
阅读(4171) 评论(0)
49条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:640182次
    • 积分:9011
    • 等级:
    • 排名:第2312名
    • 原创:305篇
    • 转载:34篇
    • 译文:0篇
    • 评论:209条
    博客专栏