随笔分类 - spring
摘要:SpringBoot 分布式session实现 1. 什么是分布式session 在集群环境中,不得不考虑的一个问题是用户访问产生的session如何处理。如过不做任何处理,用户将出现频繁俸禄的现象,比如集群中存在A、B两台服务其,用户第一次访问网站时,Nginx通过负载均衡机制将用户请求转发到A节
阅读全文
摘要:SpringCloud+Consul 服务注册与服务发现 1. 服务注册: 在Spring.factories有一段: 这是SpringCloud时Consul实现服务注册的关键。 发现有一个ConsulLifecycle的bean注入: ConsulLifecycle继承自AbstractDisc
阅读全文
摘要:EndPoint详解 EndPoint主要用于暴露一些SpringMvc内部运行的信息,通常是通过SpringMvc的请求地址获取相关信息。如/health获取健康检查信息。 简单单元测试 url映射 HandlerMapping使用EndpointHandlerMapping,重写了registe
阅读全文
摘要:Spring对象绑定与类型转换 Spring的框架体系中,到处充斥着对象绑定从bean的初始化autowired属性,SpringMvc 中对对象的绑定等。Spring对象绑定和类型转换在Spring体系中发挥着至关重要的作用。其对象绑定是通过属性编辑器体现来完成,类型转换是通过Spring 3.0
阅读全文
摘要:模型视图详解 在doDispatch中,SpringMVC会调用HandlerAdapter的handler方法获取ModelAndView对象,最后进行视图解析,视图渲染,都跟这个对象有着密切的关联。 doDispatch中获取ModelAndView 下面,我将详细分析模型视图,其间将会看到常见
阅读全文
摘要:HandlerMapping 详解 1. 导言 万丈高楼平地起,SpringMVC的辉煌离不开每个组件的相互协作,[上一章]详细阐述了SpringMVC整个体系结构及实现原理,知道HandlerMapping在这个SpringMVC体系结构中有着举足轻重的地位,充当着url和Controller之间
阅读全文
摘要:SpringMVC 架构 1. 前言 SpringMVC是目前java世界中最为广泛应用的web框架,最然从学习SpringMVC的第一个程序 helloworld至今,已有好几个年头。其间伴随着项目的同时找资料,看文档,也涉猎过部分源代码,基本明白了SpringMVC是怎么回事,遇到需求知道如何写
阅读全文
摘要:Spring Cloud 配置服务 1. 配置服务简介 产生背景: 传统开发中,我们通常是将系统的业务无关配置(数据库,缓存服务器)在properties中配置,在这个文件中不会经常改变,但随着系统规模的扩大,项目成员越来越多,会有越来越多的伙伴更改配置文件,开发、测试、生产环境分离,因配置产生的问
阅读全文
摘要:SpringBoot常用配置简介 1. SpringBoot中几个常用的配置的简单介绍 一个简单的Spring.factories Bootstrap components org.springframework.cloud.bootstrap.BootstrapConfiguration=\ or
阅读全文
摘要:Spring中autowired主要用于装配树形值,其关键类为BeanWrapperImpl,阅读代码发现其关键方法setPropertyValue有如下一段代码。 1 PropertyHandler ph = getLocalPropertyHandler(actualName); 2 if (p
阅读全文
摘要:1.简单示例: SpringBoot中的的配置简单属性类支持ConfigurationProperties方式,看一个简单的示例。 1 @ConfigurationProperties(prefix = "org.dragonfei.demo") 2 public class DemoPropert
阅读全文
摘要:springboot应用,启动spring容器大致有如下几个过程: 容器开始启动 初始化环境变量 初始化上下文 加载上下文 完成 对应的Spring应用的启动器的监听器可以监听以上的过程,接口如下: 1 public interface SpringApplicationRunListener {
阅读全文
摘要:SpringBoot最常用的注入bean的方式是通过@Configuration进行配置的,本文详细介绍了SpringBoot中@Configuration的解析过程。@Configuration解析的原理也适用于普通Spring的解析(非SpringBoot)
阅读全文