spring
文章平均质量分 77
xiaomin_____
努力~~
展开
-
Spring jdk动态代理源码 as cglib代理源码
jdk动态代理类的源码import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import java.lang.reflect.UndeclaredThrowableException;public final clas...原创 2012-04-25 12:34:50 · 137 阅读 · 0 评论 -
Spring Security二
SpringSide(你可以去官网了解更多信息,我也是从这里开始了解和学习Spring Security的) 前一篇文章里介绍了Spring Security的一些基础知识,相信你对Spring Security的工作流程已经有了一定的了解,如果你同时在读源代码,那你应该可以认识的更深刻。在这篇文章里,我们将对Spring Security进行一些自定义的扩展,比如自定义...原创 2012-02-10 14:09:50 · 110 阅读 · 0 评论 -
JDBCTemplate和HibernateTemplate事物源码解析
由于项目中对批量的sql进行入库处理。所以打算用jdbcTemplate。在其他的增删改查中都是用hibernateTemplate。在这里考虑到一个问题,就是当jdbcTemplate和hibernateTemplate结合用的时候,事物是怎么样的了?经过测试:在一个方法中同时使用jdbcTemplate,和hibernateTemplate对数据进行增加操作。然...2012-11-01 22:53:05 · 143 阅读 · 0 评论 -
SpringSecurity 源码分析一
通过SecurityContextHolder.getContext()获得SecurityContext 总接口SecurityContextHolderStrategyprivate static void initialize() { if ((strategyName == null) || "".equals(strategyName)) { ...原创 2012-03-29 23:08:22 · 119 阅读 · 0 评论 -
spring 代理对象方法增强源码解析
在spring中有两种产生代理对象的方式:AopProxy的子类:Cglib2AopProxy和JdkDynamicAopProxy。1. Jdk主要是:Proxy.newProxyInstance(classLoader, proxiedInterfaces, InvocationHandler); 2. Cglib则是通过Enhancer类来实现的。它们有个相同点就是都有一个回...2012-11-04 13:00:03 · 119 阅读 · 0 评论 -
spring 代理对象方法增强源码解析222222
在spring中有两种产生代理对象的方式:AopProxy的子类:Cglib2AopProxy和JdkDynamicAopProxy。1. Jdk主要是:Proxy.newProxyInstance(classLoader, proxiedInterfaces, InvocationHandler); Cglib则是通...2012-11-04 13:05:02 · 166 阅读 · 0 评论 -
UsernamePasswordAuthenticationFilter
springSecurity的登录验证是由org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter这个过滤器来完成的,在该类的父类AbstractAuthenticationProcessingFilter中有一个AuthenticationManager接口属性,验证工作主如果经由...原创 2012-04-18 18:20:29 · 257 阅读 · 0 评论 -
spring Aop 之方法缓存
因为公司人手原因,最近在为项目搭建架构,在异常,缓存,日志,方面都打算用Aop来做,在原来的项目中对在对异常,日志方面可能都是Log log=Logfactory.getLog();这样既麻烦,又紧耦合在一起。所以打算用Aop试试。下面是对一些缓存对象的Aop处理。主要是根据方法签名来做key值。 定义一个注解 import java.lang.annotation....原创 2012-09-15 00:35:15 · 145 阅读 · 0 评论 -
spring Aop 之用户操作日志以及异常处理日志记录
使用Aop做操作日志,异常处理,并记录日志。方法1:try{}catch(){记录日志}方法2:通过filter,或者strtus2拦截器(目前项目是struts2)方法3:hirbernate的拦截器记录日志方法4:通过jvm agent 代理方法5:自定义类加载器应该也可以虽然说各有个的好处吧,但是我个人还是喜欢Aop,当然Aop有多种实现。目前项目上用的是Spring...原创 2012-09-15 01:24:05 · 281 阅读 · 0 评论 -
Spring定时任务的实现
一.分类从实现的技术上来分类,目前主要有三种技术(或者说有三种产品):Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少,这篇文章将不做详细介绍。使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可...原创 2013-11-05 20:20:38 · 73 阅读 · 0 评论 -
spring3 自带 cache 整合之方法缓存
最近项目刚好用的spring版本是Spring3.1.M1 ,好像 spring3就开始有了对缓存的整合。其实底层的实现也就是上篇文件一样。http://m635674608.iteye.com/admin/blogs/1678983spring3.1.M1中负责cache的模块是org.springframework.context-3.1.0.M1.jar与2.5时的modules...原创 2012-09-23 15:07:55 · 126 阅读 · 0 评论 -
spring 动态注册数据源
spring实现多数据源,主需要向spring工厂动态注册数据源即可。代码:package com.htxx.service.dao;import java.io.IOException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import javax.sql....原创 2013-07-31 17:40:20 · 157 阅读 · 0 评论 -
Spring组件扫描<context:component-scan/>使用详解
1.如果不想在xml文件中配置bean,我们可以给我们的类加上spring组件注解,只需再配置下spring的扫描器就可以实现bean的自动载入。<!-- 注解注入 --><context:annotation-config></context:annotation-config><context:component-scan base-pa...原创 2015-02-27 10:00:11 · 93 阅读 · 0 评论 -
spring注解注入:<context:component-scan>详解
spring从2.5版本开始支持注解注入,注解注入可以省去很多的xml配置工作。由于注解是写入java代码中的,所以注解注入会失去一定的灵活性,我们要根据需要来选择是否启用注解注入。我们首先看一个注解注入的实际例子,然后再详细介绍context:component-scan的使用。如果你已经在用spring mvc的注解配置,那么你一定已经在使用注解注入了,本文不会涉及到spring m...原创 2015-03-03 12:01:34 · 111 阅读 · 0 评论 -
Unable to locate Spring NamespaceHandler for XML schema namespace
Unable to locate Spring NamespaceHandler for XML schema namespace 缺少了jar包,所以引用不到schema原创 2015-03-23 15:18:41 · 140 阅读 · 0 评论 -
spring集成 JedisCluster 连接 redis3.0 集群
客户端采用最新的jedis 2.71.maven依赖:<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.2</version></dependenc原创 2016-04-19 10:05:18 · 246 阅读 · 0 评论 -
springboot 开发入门
Spring Boot提供了一个强大的一键式Spring的集成开发环境,能够单独进行一个Spring应用的开发,其中: (1)集中式配置(application.properties)+注解,大大简化了开发流程 (2)内嵌的Tomcat和Jetty容器,可直接打成jar包启动,无需提供Java war包以及繁琐的Web配置 (3)提供了Spring各个插件的基于Maven的pom模板配置,...原创 2016-04-19 10:52:39 · 89 阅读 · 0 评论 -
spring 事务日志
事务方法日志:reating new transaction with name ]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-ExceptionAcquired Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@1ff05076] for JDBC transactionSwi...原创 2016-04-30 17:28:31 · 863 阅读 · 1 评论 -
spring事物配置,声明式事务管理和基于@Transactional注解的使用
事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性。spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。 声明式事...原创 2016-05-03 13:50:49 · 112 阅读 · 0 评论 -
如何实现XA式、非XA式Spring分布式事务
Spring应用的几种事务处理机制 Java Transaction API和XA协议是Spring常用的分布式事务机制,不过你可以选择选择其他的实现方式。理想的实现取决于你的应用程序使用何种资源,你愿意在性能、安 全、系统稳健性、数据完整方面做出何种权衡。在这次JavaWorld大会上,来自SpringSource的David Syer跟大家分享了Spring应用的几种事务处理机制、三...原创 2016-05-17 17:33:41 · 160 阅读 · 0 评论 -
Spring事务配置参数说明
一、Propagation: - REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 - SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。 - MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。 - REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。 - NOT_SUPPORTED--以非事...原创 2016-05-29 20:10:08 · 142 阅读 · 0 评论 -
Spring事务超时时间可能存在的错误认识
1、先看代码1.1、spring-config.xmlJava代码 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com...原创 2016-05-30 19:08:54 · 193 阅读 · 0 评论 -
在Spring中基于JDBC进行数据访问时如何控制超时
Transaction Timeout > Statement Timeout > JDBC Driver Socket Timeout Transaction Timeout指一组SQL操作执行时应在设定的时间内完成(提交或回滚),否则将引发超时。它的值应大于 N(语句数) * Statement TimeoutStatement Timeout指完成单条SQL语句...原创 2016-05-31 15:00:08 · 259 阅读 · 0 评论 -
spring cloud redis lock
/* * Copyright 2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may o...原创 2016-06-14 09:53:45 · 249 阅读 · 0 评论 -
学习Spring必学的Java基础知识(6)----ThreadLocal
引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”。以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些Java基础知识,希望对大家有所帮助。): [1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 [2] Java动态代理--&...原创 2015-08-07 20:19:34 · 84 阅读 · 0 评论 -
SpringMVC全注解
web.xml在servlet3.0里面已经被注解完全替代,但是spring里面的DispatcherServlet并没有被使用,本打算修改下源码弄成3.0的,奈何没啥时间。这是一个标准的SpringMVC,重点是AppConfig与DBConfig,在Web.xml里面申明两个类的配置路径:<servlet><servlet-name>spring</...原创 2016-06-29 10:28:09 · 128 阅读 · 0 评论 -
Spring HandlerInterceptor的使用
HandlerInterceptor翻译过来就是spring拦截器,它在某些功能应用上特别有用:1. 用户是否登陆以及用户权限管理 (见http://www.ideawu.net/ideablog/category4/article174.html)2. 根据用户的选择来决定是用HTML还是用Excel来作为View (该应用后面会讲解)3. blackboard building...原创 2016-07-05 18:27:24 · 85 阅读 · 0 评论 -
Restful形式接口文档生成之Swagger与SpringMVC整合手记
笔者目前正在搭建一套API服务框架,考虑到客户端能够更方便的调用API服务(这里说的更方便是指避免不厌其烦地解说各接口需要的参数和返回结 果),于是决心为每个接口生成详细的说明文档。网上搜索了一下,发现了Swagger这个东西,感觉不错,界面也比javadoc生成的页面要美观,而且 网上关于Swagger和springmvc整合的文章不少(遗憾的是大多雷同且不完整)。本文详细介绍Swagger...原创 2016-07-06 14:14:03 · 178 阅读 · 0 评论 -
spring aop的使用(注解方式以及基于xml配置方式)
转载的。。原文地址http://blog.csdn.net/xzf19901108/article/details/7835558注解方式 *******************beans.xml******************* [html] view plaincopy <?xml version="1.0" enc...原创 2016-07-06 19:44:52 · 84 阅读 · 0 评论 -
Spring3.0中的AOP配置方法
第一种配置方法:使用@AspectJ标签在配置文件中添加<aop:aspectj-autoproxy/>注解创建一个Java文件,使用@Aspect注解修饰该类创建一个方法,使用@Before、@After、@Around等进行修饰,在注解中写上切入点的表达式说明:上述Java文件创建好后,需要将其在Spring的容器中进行声明,可以在配置文件中定义<be...原创 2016-07-07 11:17:07 · 117 阅读 · 0 评论 -
spring cloud zuul 入门
一 .首先打开http://start.spring.io/一看就知道怎么搞了吧,不用多少了 首先建一个Springboot的Demo工程首先建立一个BookApplication 代码如下很简单package com.example;import org.springframework.boot.SpringApplication;import org.springf...原创 2016-07-14 23:34:28 · 159 阅读 · 0 评论 -
Microservice with SpringCloud
Microservice 其實不是很好管理,可想而知會有非常多路由、組態、監控等問題要搞,但是如果你團隊都是用Java的話,基本上 SpringCloud 提供非常多組件,讓你使用一些簡單設定檔跟 Annotation 就可以搞定 Discovery、Synchronize Settings、Proxy、LoadBalance、Realtime Dashboards、LogAnalyzer 等...原创 2016-07-15 10:15:56 · 212 阅读 · 0 评论 -
Spring提供的用于访问Rest服务的客户端:RestTemplate实践
什么是RestTemplate?RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。调用RestTemplate的默认构造函数,RestTemplate对象在底层通过使用java.net包下的实现创建HTTP 请求,可以通过使用ClientHttpRequestFacto...原创 2016-07-16 09:56:18 · 287 阅读 · 0 评论 -
使用Hystrix守护应用(3)
监控HystrixCommand 除了隔离依赖服务的调用外,Hystrix还提供了近乎实时的监控,Hystrix会实时的,累加的记录所有关于HystrixCommand的执行信息,包括执行了每秒执行了多少请求,多少成功,多少失败等等,更多指标请查看:https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring 导出监控数据 有了这...原创 2016-07-16 11:36:59 · 125 阅读 · 0 评论 -
使用Springboot和Hystrix构建API Gateway
使用Hystrix构建API Gateway随着MicroService架构越来越深入人心,如何构建一个高性能,错误容忍的API Gateway成了一个很多人都遇到的问题。Netflix开源了Hystrix来帮助我们实现API Gateway。这里提供一个Springboot+Hystrix的例子: https://github.com/qmhu/SpringHystrixSa...原创 2016-07-16 14:25:36 · 441 阅读 · 0 评论 -
springcloud(第五篇)springcloud turbine
spring cloud turbine简介turbine是聚合服务器发送事件流数据的一个工具,hystrix的监控中,只能监控单个节点,实际生产中都为集群,因此可以通过 turbine来监控集群下hystrix的metrics情况,通过eureka来发现hystrix服务。netflix turbine使用官方给定的war 放入tomcat中运行,修改turbine-we...原创 2016-07-16 20:57:47 · 100 阅读 · 0 评论 -
spring cloud: Hystrix断路器(熔断器)
1.Hystrix客户端Netflix已经创建了一个名为Hystrix的库,实现了断路器的模式。在microservice架构通常有多个层的服务调用。 低水平的服务的服务失败会导致级联故障一直给到用户。当调用一个特定的服务达到一定阈值(默认5秒失败20次),打开断路器。在错误的情况下和一个开启的断路回滚应可以由开发人员提供。 有一个断路器阻止级联失败并且允许关闭服务一段时间进行愈合...原创 2016-07-17 09:18:47 · 147 阅读 · 0 评论 -
springcloud(第九篇)netflix zuul
netflix zuulintroductionzuul用来提供动态路由、监控、授权、安全、调度等等的边缘服务(edge service)ZuulFilterZuulFilter是Zuul中核心组件,通过继承该抽象类,覆写几个关键方法达到自定义调度请求的作用,这里filter不是Java Web中的filter,不要混淆.new ZuulFilter() { ...原创 2016-07-17 10:20:00 · 101 阅读 · 0 评论 -
springmvc下的基于token的防重复提交
问题描述: 现在的网站在注册步骤中,由于后台要处理大量信息,造成响应变慢(测试机器性能差也是造成变慢的一个因素),在前端页面提交信息之前,等待后端响应,此时如果用户 再点一次提交按钮,后台会保存多份用户信息。为解决此问题,借鉴了struts2的token思路,在springmvc下实现token。 实现思路: 在springmvc配置文件中加入拦截器的配置,拦截两类请求,...原创 2016-07-25 14:52:00 · 198 阅读 · 0 评论 -
SSO with OAuth2: Angular JS and Spring Security
In this article we continue our discussion of how to use Spring Security with Angular JS in a “single page application”. Here we show how to use Spring Security OAuth together with Spring Cloud to ex...原创 2016-07-26 10:27:48 · 569 阅读 · 0 评论