
spring
xiaoliuliu2050
这个作者很懒,什么都没留下…
展开
-
shiro 单点登录原理 实例
Shiro 1.2开始提供了Jasig CAS单点登录的支持,单点登录主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这些系统中的任何一个,无须多次登录。Jasig CAS单点登录系统分为服务器端和客户端,服务器端提供单点登录,多个客户端(子系统)将跳转到该服务器进行登录验证,大体流程如下:1、访问客户端需要登录的页面http://localhost:原创 2017-02-08 17:39:55 · 12140 阅读 · 1 评论 -
Shiro学习详解
1.Shiro基本架构一、什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户“登录”;授权 - 访问控制;密码加密 - 保护或隐藏数据防止被偷窥;会话管理 - 每用户相关的时间敏感的状态。对于任何一个应用程序,Shiro都可以提供全面的安全管理服务。并且相原创 2017-02-07 16:23:44 · 13053 阅读 · 2 评论 -
shiro 自定义认证filter
比如说我想 加一个验证码 认证,原来的userNamePasswordToken 就不够用了,我需要自定义一个新的token.public class SecurityToken extends UsernamePasswordToken { /** * 验证码 */ private String captcha; /** * 系统生原创 2017-02-08 15:26:12 · 3939 阅读 · 0 评论 -
shiro 认证filter 的原理
正常情况下,如果我们只是简单的用户名,密码登录,则我们做认证 只要配置默认认证过滤器就好了,如下:1 配置文件配置登录认证<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="loginUrl" va原创 2017-02-08 15:17:22 · 12305 阅读 · 0 评论 -
Shiro的使用与配置实战
1.关于Shiro在Spring中的配置1.直接在HIbernate中使用Ehcache的配置[html] view plain copyxml version="1.0" encoding="UTF-8"?> beans xmlns="http://www.springframework.org/schema/beans"原创 2017-02-07 16:47:45 · 1357 阅读 · 0 评论 -
在 Web 项目中应用 Apache Shiro
在 Web 项目中应用 Apache ShiroApache Shiro 是功能强大并且容易集成的开源权限框架,它能够完成认证、授权、加密、会话管理等功能。认证和授权为权限控制的核心,简单来说,“认证”就是证明你是谁? Web 应用程序一般做法通过表单提交用户名及密码达到认证目的。“授权”即是否允许已认证用户访问受保护资源。关于 Shiro 的一系列特征及优点,很多文章已有列举原创 2017-02-07 16:37:07 · 454 阅读 · 0 评论 -
Spring整合Shiro做权限控制模块详细案例分析
1.引入Shiro的Maven依赖[html] view plain copy dependency> groupId>org.apache.shirogroupId> artifactId>shiro-coreartifactId> version>1.2.原创 2017-02-07 16:35:36 · 1335 阅读 · 0 评论 -
spring中BeanPostProcessor和BeanDefinitionRegistryPostProcessor 接口
摘要:BeanPostProcessor接口如果我们需要在spring容器完成Bean的实例化,配置和其他的初始化前后添加一些自己的逻辑处理,就可以使用BeanPostProcessor接口Bean的实例化过程@ComponentpublicclassUserimplementsApplicationContextAware,InitializingBean{privateApplicationC...转载 2018-08-29 23:03:13 · 1076 阅读 · 0 评论 -
Spring源码解析 Spring对象初始化逻辑
在执行完填充属性的方法populateBean(beanName, mbd, instanceWrapper)之后,就要执行初始化initializeBean方法了; show the code:protected Object initializeBean(final String beanName, final Object bean, RootBeanDefinition mbd) ...转载 2018-08-30 23:45:33 · 203 阅读 · 0 评论 -
Spring源码解析 Spring扩展接口SmartInstantiationAwareBeanPostProcessor解析
之前我们分析了 InstantiationAwareBeanPostProcessor、BeanPostProcessor、今天来分析一下SmartInstantiationAwareBeanPostProcessor的用法;SmartInstantiationAwareBeanPostProcessor 继承自 InstantiationAwareBeanPostProcessor; 但是...转载 2018-08-30 23:37:38 · 3671 阅读 · 0 评论 -
Spring源码解析 Spring扩展接口InstantiationAwareBeanPostProcessor解析
InstantiationAwareBeanPostProcessorInstantiationAwareBeanPostProcessor代表了Spring的另外一段生命周期:实例化。先区别一下Spring Bean的实例化和初始化两个阶段的主要作用:1、实例化—-实例化的过程是一个创建Bean的过程,即调用Bean的构造函数,单例的Bean放入单例池中2、初始化—-初始化的过程是一...转载 2018-08-30 23:11:47 · 401 阅读 · 0 评论 -
java 静态代理 jdk动态代理 使用方式 及实现原理 使用场景
java 代理 是什么?静态代理 :一个接口 A ,一个实现类B ,我现在想要在实现B 的同时增加一个事务的功能,但是又不想改B 的代码,就可以增加一个代理类C(C 实现A ,引用B)动态代理为啥出现?我有100个类,他们实现的接口不同,但是我想在每个类里都增加记录事务的功能。如果用静态代理,我得写100个代理类。于是java 团队创造了动态代理。静态代理代码实现:B b...原创 2018-08-18 00:33:06 · 866 阅读 · 0 评论 -
SpringDataJPA学习记录(四)--使用QueryDSL
1.问题的提出最近再看公司项目中有如下代码,看了后简直不能忍.缺点列出来的话,如下:返回类型Object[]数组,至于每一个下标对应哪个字段,没法直观的看到,例如object[11]是什么类型?字段名是什么?这个就无法直观得知.sql中复杂的关系导致不可维护,每一个接手的人都要研究sql半天该种动态拼接条件方法导致类似的代码会大量重复,所以IDEA打开的时候黄了半边天.该查询为分页查询转载 2018-01-23 17:46:50 · 3651 阅读 · 0 评论 -
Spring Data JPA进阶——Specifications和Querydsl
spring data jpa 通过创建方法名来做查询,只能做简单的查询,那如果我们要做复杂一些的查询呢,多条件分页怎么办,这里,spring data jpa为我们提供了JpaSpecificationExecutor接口,只要简单实现toPredicate方法就可以实现复杂的查询1.首先让我们的接口继承于JpaSpecificationExecutorpublic interface转载 2018-01-23 16:55:59 · 641 阅读 · 0 评论 -
spring boot-jpa整合QueryDSL来简化复杂操作
使用过spring data jpa的同学,都很清楚,对于复杂的sql查询,处理起来还是比较复杂的,而本文中的QueryDSL就是用来简化JPA操作的。Querydsl定义了一种常用的静态类型语法,用于在持久域模型数据之上进行查询。JDO和JPA是Querydsl的主要集成技术。本文旨在介绍如何使用Querydsl与JPA组合使用。JPA的Querydsl是JPQL和Criteria查询的转载 2018-01-23 16:55:01 · 2084 阅读 · 0 评论 -
Spring boot学习之spring-data-jpa的使用(一)
Spring boot学习之jpa的使用之前我们是简单的入了门,创建一个helloword,而在实际的开发中仅仅入门是不够的,比如就少不了数据库的操作,本章将简单介绍一下基于hibernate的spring boot中jpa的使用。1.JPA简介要使用JPA首先得了解什么是JPA,其实本人在此之前对此也是有一些接触的,但是其究竟是个什么东东,也是不了解的,这次也是在网上各种转载 2018-01-23 16:45:10 · 272 阅读 · 0 评论 -
Spring中的AOP——在Advice方法中获取目标方法的参数
获取目标方法的信息 访问目标方法最简单的做法是定义增强处理方法时,将第一个参数定义为JoinPoint类型,当该增强处理方法被调用时,该JoinPoint参数就代表了织入增强处理的连接点。JoinPoint里包含了如下几个常用的方法:Object[] getArgs:返回目标方法的参数Signature getSignature:返回目标方法的签名Obje转载 2016-10-20 11:50:12 · 837 阅读 · 1 评论 -
Spring 拦截器原理:什么是AOP
AOP(Aspect Oriented Programming)即:面向切面编程, 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术AOP在Spring中的术语通知(advice)BeforeAfterAfter-ReturningAfter-ThrowingAround连接点(JointPoing)切点(PointCut)切面(Aspect)引入(Intr原创 2016-10-20 10:14:25 · 2138 阅读 · 0 评论 -
SpringMVC中使用Interceptor拦截器
SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。常见应用场景1、日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算PV(Page View)等。2、权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直接返回到登录页面;3、性能监控:有时候系统在某段时间莫名其妙的慢,可以通过拦截器在进入处理原创 2016-10-20 10:13:50 · 1461 阅读 · 0 评论 -
PageMybatisInterceptor 的原理
首先 要知道,所有的拦截器都是需要配置的,这里拦截器是在执行 mapper 的方法的时候,执行的。 classpath:mapper/*/*.xml classpath:mybatis/mapping/*.xml原创 2016-10-19 11:18:30 · 2137 阅读 · 0 评论 -
spring 异步处理 :
引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3.x之后,就已经内置了@Async来完美解决这个问题,本文将完成介绍@Async的用法。1. 何为异步调用? 在解释异步调用之前,我们先来看同步调用的定义;同步就是整个处理过程顺序执行,转载 2016-04-22 18:47:32 · 1193 阅读 · 0 评论 -
java深入 - Spring 异常处理HandlerExceptionResolver
Spring的异常统一处理非常简单,首先我们需要看一下Spring中定义的HandlerExceptionResolver接口:public interface HandlerExceptionResolver { ModelAndView resolveException( HttpServletRequest request, HttpServle原创 2016-10-20 10:15:00 · 1542 阅读 · 0 评论 -
spring 多线程-线程池:
1 类介绍 :一: ThreadPoolTaskExecutor是一个spring的线程池技术,查看代码可以看到这样一个字段: private ThreadPoolExecutor threadPoolExecutor; 可以发现,spring的 ThreadPoolTaskExecutor是使用的jdk中的java.util.concurrent.ThreadPo...原创 2016-04-22 18:48:53 · 2307 阅读 · 0 评论 -
Spring容器中的Bean几种初始化方法和销毁方法的先后顺序
spring 容器中的 Bean 是有生命周期的,Spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作。下面是常用的三种指定特定操作的方法:通过实现InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法;通过 元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法;在指定方法转载 2016-10-20 15:21:06 · 328 阅读 · 0 评论 -
Spring MVC 执行原理
在 Spring Mvc 访问过程里,每个请求都首先经过 许多的过滤器,经 DispatcherServlet 处理;一个Spring MVC工程里,可以配置多个的 dispatcherServlet ,每个 DispatcherServlet 可以对应多个的 HandlerMapping ,每个 HandlerMapping 可以有自己的 Interceptor (拦截器)。原创 2016-04-23 14:26:59 · 906 阅读 · 0 评论 -
spring mvc需要的 配置文件(以及相关类和接口的详细解释):
spring mvc 配置文件:标准方法是在web.xml中配置两个,然后在spring mvc配置文件中注解只扫controller注解,其余spring不扫controller注解一、最开始当然是web.xml文件了,这是一个总的宏观配置 xmlns="http://Java.sun.com/xml/ns/javaee"原创 2016-10-20 14:47:09 · 499 阅读 · 0 评论 -
服务器启动的时候,如何加载spring?
服务器启动,加载web.xml 文件的时候发现监听器:ContextLoaderListener初始化监听器 1所以调用contextInitialized方法@Overridepublic void contextInitialized(ServletContextEvent event) { initWebApplicationContext(event.get原创 2016-10-20 14:27:26 · 1322 阅读 · 0 评论 -
spring quartz 总结:
spring quartz 总结:引用:1 http://blog.csdn.net/evankaka/article/details/455408852 http://www.cnblogs.com/maiyu-d/archive/2012/12/13/2816271.html3 http://haiziwoainixx.iteye.com/blog/1838055原创 2016-10-20 10:06:43 · 774 阅读 · 0 评论