
spring
文章平均质量分 71
god_love_hlq_xff
这个作者很懒,什么都没留下…
展开
-
[Java面试五]Spring总结以及在面试中的一些问题.
https://www.cnblogs.com/wang-meng/p/5701982.html[Java面试五]Spring总结以及在面试中的一些问题.1.谈谈你对spring IOC和DI的理解,它们有什么区别?IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spring框架管理,简单说,就是创建Use...转载 2019-01-21 22:30:28 · 198 阅读 · 0 评论 -
一起来学 SpringBoot 2.x | 第二十二篇:轻松搞定重复提交(本地锁)
http://www.iocoder.cn/Spring-Boot/battcn/v2-cache-locallock/SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程在平时开发中,如果网速比较慢的情...转载 2018-11-06 22:53:06 · 466 阅读 · 0 评论 -
Spring EnableAutoConfigurationImportSelector 是如何工作的 ?
https://blog.youkuaiyun.com/andy_zhang2007/article/details/78580980功能EnableAutoConfigurationImportSelector 是一个DeferredImportSelector,由 spring boot autoconfigure 从版本1.3开始,提供用来处理EnableAutoConfiguration自动配...转载 2018-11-01 22:13:00 · 420 阅读 · 0 评论 -
springboot EnableAutoConfiguration
http://blog.javachen.com/2016/02/19/spring-boot-auto-configuration.html自动配置在启动类上使用@EnableAutoConfiguration注解,就会开启自动配置,简单点说就是它会根据定义在classpath下的类,自动的给你生成一些Bean,并加载到Spring的Context中。它的神秘之处,不在于它能做什么,...转载 2018-11-01 22:09:34 · 281 阅读 · 0 评论 -
聊聊高并发系统之限流特技
http://jinnianshilongnian.iteye.com/blog/2305117在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(...转载 2018-10-25 22:04:12 · 355 阅读 · 0 评论 -
Spring中Ordered接口简介
http://www.cnblogs.com/fangjian0423/p/spring-Ordered-interface.html目录前言 Ordered接口介绍 Ordered接口在Spring中的使用 总结前言Spring中提供了一个Ordered接口。Ordered接口,顾名思义,就是用来排序的。Spring是一个大量使用策略设计模式的框架,这意味着有很多相同接口...转载 2018-10-23 21:51:47 · 877 阅读 · 0 评论 -
SpringMVC异常处理机制详解[附带源码分析]
http://www.cnblogs.com/fangjian0423/p/springMVC-exception-analysis.html目录前言 重要接口和类介绍 HandlerExceptionResolver接口 AbstractHandlerExceptionResolver抽象类 AbstractHandlerMethodExceptionResolver抽象类...转载 2018-10-23 21:50:41 · 234 阅读 · 0 评论 -
SpringMVC视图机制详解[附带源码分析]
http://www.cnblogs.com/fangjian0423/p/springMVC-view-viewResolver.html目录前言 重要接口和类介绍 源码分析 编码自定义的ViewResolver 总结 参考资料前言SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblo...转载 2018-10-23 21:49:37 · 213 阅读 · 0 评论 -
SpringMVC拦截器详解[附带源码分析
http://www.cnblogs.com/fangjian0423/p/springMVC-interceptor.html目录前言 重要接口及类介绍 源码分析 拦截器的配置 编写自定义的拦截器 总结 总结前言SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fa...转载 2018-10-23 21:48:25 · 234 阅读 · 0 评论 -
SpringMVC类型转换、数据绑定详解[附带源码分析]
http://www.cnblogs.com/fangjian0423/p/springMVC-databind-typeconvert.html目录前言 属性编辑器介绍 重要接口和类介绍 部分类和接口测试 源码分析 编写自定义的属性编辑器 总结 参考资料前言SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉,那么请参考它的入门blog:h...转载 2018-10-23 21:46:34 · 192 阅读 · 0 评论 -
SpringMVC关于json、xml自动转换的原理研究[附带源码分析]
http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-convert.html目录前言 现象 源码分析 实例讲解 关于配置 总结 参考资料前言SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian...转载 2018-10-23 21:45:25 · 184 阅读 · 0 评论 -
详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]
http://www.cnblogs.com/fangjian0423/p/springMVC-request-param-analysis.html目录前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumentResolver与Handler...转载 2018-10-23 21:43:51 · 217 阅读 · 0 评论 -
详解SpringMVC请求的时候是如何找到正确的Controller[附带源码分析]
http://www.cnblogs.com/fangjian0423/p/springMVC-request-mapping.html目录前言 源码分析 重要接口介绍 SpringMVC初始化的时候做了什么 HandlerExecutionChain的获取 实例 资源文件映射 总结 参考资料前言SpringMVC是目前主流的Web MVC框架之一。 如果...转载 2018-10-23 21:42:30 · 290 阅读 · 0 评论 -
SpringMVC核心分发器DispatcherServlet分析[附带源码分析]
http://www.cnblogs.com/fangjian0423/p/springMVC-dispatcherServlet.html目录前言 DispatcherServlet初始化过程 DispatcherServlet处理请求过程 总结 参考资料前言SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉,那么请参考它的入门blog:htt...转载 2018-10-23 21:41:09 · 214 阅读 · 0 评论 -
Spring MVC @RequestMapping
http://www.iocoder.cn/Spring-MVC/carlzhao/RequestMapping/要想了解决Spring MVC是怎么把@RequestMapping注解了的方法以及类解析的,首先我们需要关注AbstractHandlerMethodMapping#afterPropertiesSet这个方法,而这个方法是Spring的init方法,是Spring在进行初始化b...转载 2018-10-22 22:41:27 · 497 阅读 · 0 评论 -
深入探索spring技术内幕(七): 配置Spring AOP面向切面编程
https://blog.youkuaiyun.com/zdp072/article/details/26162801版权声明: https://blog.youkuaiyun.com/zdp072/article/details/26162801一. AOP一些概念Aspect( 切面 ): 指横切性关注点的抽象即为切面, 它与类相似, 只是两者的关注点不一样, 类是对物体特征的抽象, 而切面横切性关注...转载 2018-10-19 00:18:11 · 145 阅读 · 0 评论 -
spring aop
https://www.cnblogs.com/ityouknow/p/5329550.html什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),它利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即方面。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调...转载 2018-10-17 22:06:50 · 137 阅读 · 0 评论 -
spring ioc
spring ioc是spring的核心之一,也是spring体系的基础,那么spring ioc所依赖的底层技术是什么的?反射,以前我们开发程序的时候对象之间的相互调用需要用new来实现,现在所有的bean都是通过spring容器来管理。这样做有什么好处呢?解耦!以前程序直接的调用用new直接给写死了,现在我们可以通过注入不同的接口实现类来完成对象直接的调用。 首先来聊聊Java的反射机...转载 2018-10-17 22:05:34 · 133 阅读 · 0 评论 -
spring 多数据源一致性事务方案
https://www.cnblogs.com/ityouknow/p/4977136.htmlspring 多数据源配置spring 多数据源配置一般有两种方案:1、在spring项目启动的时候直接配置两个不同的数据源,不同的sessionFactory。在dao 层根据不同业务自行选择使用哪个数据源的session来操作。2、配置多个不同的数据源,使用一个sessionFact...转载 2018-10-17 22:05:01 · 686 阅读 · 0 评论 -
spring boot 之thymeleaf
thymeleaf介绍简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点: 1.Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 htm...转载 2018-10-16 22:14:51 · 173 阅读 · 0 评论 -
Spring Bean 生命周期
前言Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。首先看下生命周期图:再谈生命周期之前有一点需要先明确:Spring 只帮我们管理单例模式 Bean 的完整生命周期,对于 prototype 的 bean ,Spring 在创建好交给使用者之后则不会再管理后续的生命周期。注解方式在 bean 初始化...转载 2018-09-27 22:33:35 · 138 阅读 · 0 评论 -
Redis常见的主从复制方式
Redis常用复制方式复制原理:(1)slave启动成功连接到master后会发送一个sync命令 (2)Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步;第一次连接会全量复制,后面增量;全量复制:而slave服务在接收到数据库文件...原创 2018-09-25 21:55:59 · 488 阅读 · 0 评论 -
spring MVC源码分析
第一章:DispatcherServlet 跳转解析(1)处理请求DispatcherServlet 类的doService (设置请求属性) ——>doDispatch(2)doDispatch方法{ 1:获取HandlerExecutionChain 对象 获取方法getHandler mappedHandler = getHandler(proce...原创 2018-09-25 21:54:53 · 177 阅读 · 0 评论 -
spring 知识积累
1:BeanFactory bf = XmlBeanFactory(new ClassPathResource(new Resource(“applicationContext.xml”)));Sping 从xml到bean对象,总共经历以下阶段:定位,加载,注册,后置初始化(包含增强)Spring 1:定位,resource实现类去查找xml文件,用XmlBeanDefinitionR...原创 2018-09-25 21:53:09 · 120 阅读 · 0 评论 -
基于 Redis 的分布式锁
前言分布式锁在分布式应用中应用广泛,想要搞懂一个新事物首先得了解它的由来,这样才能更加的理解甚至可以举一反三。首先谈到分布式锁自然也就联想到分布式应用。在我们将应用拆分为分布式应用之前的单机系统中,对一些并发场景读取公共资源时如扣库存,卖车票之类的需求可以简单的使用同步或者是加锁就可以实现。但是应用分布式了之后系统由以前的单进程多线程的程序变为了多进程多线程,这时使用以上的解决方案...转载 2018-09-24 21:43:41 · 142 阅读 · 0 评论 -
常访问的源码链接收藏
bosshttp://www.iocoder.cn/#mybatishttp://www.iocoder.cn/MyBatis/good-collection/RabbitMQ 实现原理与源码解析系统http://www.iocoder.cn/RabbitMQ/good-collection/springhttp://www.iocoder.cn/Spring/good...原创 2018-09-13 00:08:22 · 245 阅读 · 0 评论 -
spring 整合mybatis源码分析
spring 整合mybatis时,底层就是依靠两个类,sqlSessionFactoryBean 和 mapperFactoryBean 实现;这两个类有一个共同的特点的特点,就是都实现了spring的FactoryBean InitializingBean 接口;实现了FactoryBean 接口,当调用getBean时返回的对象为getObject()方法返回的对象 ;而实现Init...原创 2018-09-11 22:39:30 · 231 阅读 · 0 评论 -
spring bean的加载
BeanFactory bg = new XmlBeanFactory(new ClassPathResource("bean.xml")); MyTestBean bean = (MyTestBean)bg.getBean("myTestBean");上篇bean注册完成后,存入map中后,当需要实例化某对象时,调取DefaultListableFactory 类中,getBea...原创 2018-09-09 17:51:57 · 177 阅读 · 0 评论 -
Spring xml bean标签的解析,注册
spring 中对xml中标签解析提取时,会将自定义与默认标签分开解析,因为两种方式存在很大的不同;protected void parseBeanDefinitions(Element root, BeanDefinitionParserDelegate delegate) { if (delegate.isDefaultNamespace(root)) { NodeList ...原创 2018-09-08 22:44:45 · 625 阅读 · 0 评论 -
spring 容器基本实现
https://www.cnblogs.com/VergiLyn/p/6130188.html1:spring 直接读取xml配置文件方式有两种: BeanFactory bf = new XmlBeanFactory(new ClassPathResource("beanFactory.xml)); (3.1以后已被过时注解@Deprecated) ...原创 2018-09-08 17:35:53 · 324 阅读 · 0 评论 -
@Aspect实现 Spring AOP源码追踪
1:@Aspect切面类注解属于2.0以后定义的一直表示aop的自定义标签注解;并在spring ApplicationContext.xml中以aop:aspectj-autoproxy/方式开启;通过代码追踪,在AopNamespaceHandler中找到了对这个标签的解析器AspectJAutoProxyBeanDefinitionParser类。2:AspectJAutoProxyBe...原创 2018-09-04 23:31:43 · 1987 阅读 · 1 评论 -
基于AOP的动态数据源实现
基于AOP的动态数据源实现当页面请求处理到service层时,触发调用方法中的拦截切面类DataSourceInterceptor,将当前线程中的数据源引用存入HandlerDataSource的handlerThredLocal集合中,然后进入service层中的事务拦截,开启事务管理,DataSourceTransactionManager中的doBegin方法获取数据库连接时,会调用...原创 2018-08-12 15:56:06 · 400 阅读 · 0 评论 -
Spring事务总结---传播级别以及REQUIRED_NEW及NESTED的使用场景
三、Spring事务的传播性与隔离级别 Spring它对JDBC的隔离级别作出了补充和扩展,其提供了7种事务传播行为。(通俗解释原址) 1、PROPAGATION_REQUIRED:默认事务类型,如果没有,就新建一个事务;如果有,就加入当前事务。适合绝大多数情况。 2、PROPAGATION_REQUIRES_NEW:如果没有,就新建一个事务;如果有,就将转载 2018-01-13 11:58:30 · 2674 阅读 · 0 评论 -
spring 源码分析及知识点总结
我不建议过多的看这些框架的代码,因为这些代码要完成任务需要很多琐碎的类实现,比如读取某个包下面的所有类,解析class的头文件,反射各种信息,再加上封装,很有可能在读源码的过程中掉到各种细节里出不来,所以读这种源码要事无巨细,理解原理即可。基本原理其实就是通过反射解析类及其类的各种信息,包括构造器、方法及其参数,属性。然后将其封装成bean定义信息类、constructor信息类、method信息转载 2017-12-21 16:41:03 · 294 阅读 · 0 评论 -
消息队列 RabbitMQ 与 Spring 整合使用
一、什么是 RabbitMQRabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 RabbitMQ 是由 Erlang 语言开发,安装 RabbitMQ 服务需要先安装 Erla转载 2017-12-03 21:08:20 · 480 阅读 · 0 评论 -
Spring源码分析:AOP源码解析(下篇)
AspectJAwareAdvisorAutoProxyCreator及为Bean生成代理时机分析上篇文章说了,org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator这个类是Spring提供给开发者的AOP的核心类,就是AspectJAwareAdvisorAutoProxyCreator完转载 2017-12-01 14:08:32 · 164 阅读 · 0 评论 -
Spring源码分析:AOP源码解析(上篇)
前言前面写了六篇文章详细地分析了Spring Bean加载流程,这部分完了之后就要进入一个比较困难的部分了,就是AOP的实现原理分析。为了探究AOP实现原理,首先定义几个类,一个Dao接口:1234publicinterfaceDao { publicvoidselect();转载 2017-12-01 14:06:16 · 213 阅读 · 0 评论 -
简述Spring容器与SpringMVC的容器的异同之处
版权声明:欢迎转载,注明作者和出处就好!如果不喜欢或文章存在明显的谬误,请留言说明原因再踩哦,谢谢,我也可以知道原因,不断进步!目录(?)[+]一引子二Spring容器SpringMVC容器与ServletContext之间的关系三Spring容器和SpringMVC容器的配置四Spring容器和SpringMVC容器的配置失当带来的问题引用摘要转载 2017-11-12 22:54:06 · 246 阅读 · 0 评论 -
Spring IOC知识点总结
2 IOC注册原理 SpringBean的创建是典型的工厂模式,这一系列的Bean工厂,也即IOC容器为开发者管理对象间的依赖关系提供了很多便利和基础服务,在Spring中有许多的IOC容器的实现供用户选择和使用,其相互关系如下:其中BeanFactory作为最顶层的一个接口类,它定义了IOC容器的基本功能规范,BeanFactory 有三个子类:ListableBea转载 2017-11-12 22:51:03 · 531 阅读 · 0 评论 -
spring事务传播与隔离级别
Spring事务的传播行为和隔离级别[transaction behavior and isolated level]Spring中事务的定义: 一、Propagation key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。有以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这转载 2017-11-08 21:54:28 · 198 阅读 · 0 评论