
springboot1.5.3
_jan_
这个作者很懒,什么都没留下…
展开
-
spring boot 1.5.3 源代码片段 - 配置Tomcat(TomcatEmbeddedServletContainerFactory)
机制:1、在初始化TomcatEmbeddedServletContainerFactory的时候,会被 EmbeddedServletContainerCustomizerBeanPostProcessor#postProcessBeforeInitialization(...) 拦截2、EmbeddedServletContainerCustomizerBeanPostProcessor 会扫描实现EmbeddedServletContainerCustomizer接口的bean,并调用cust原创 2021-02-23 15:05:34 · 1595 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - webmvc - @ControllerAdvice 注解
用途:1、支持扩展 @ModelAttribute 注解的方法 -- 全局 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#initControllerAdviceCache2、支持扩展 @InitBinder 注解的方法 -- 全局 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa...原创 2021-01-11 20:04:45 · 136 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - @Retryable 注解 - RetryTemplate#doExecute
// org.springframework.retry.support.RetryTemplate#doExecuteprotected <T, E extends Throwable> T doExecute(RetryCallback<T, E> retryCallback, RecoveryCallback<T> recoveryCallback, RetryState state) throws E, ExhaustedRetryExce...原创 2020-12-22 15:32:14 · 363 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - ClassWriter 生成 *.class 格式的文本
org.springframework.expression.spel.standard.SpelCompiler#createExpressionClassprivate Class<? extends CompiledExpression> createExpressionClass(SpelNodeImpl expressionToCompile) { // Create class outline 'spel/ExNNN extends org.springframework.原创 2020-12-11 17:19:05 · 182 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - ClassReader 解析 *.class 格式的文本
public ClassReader(final byte[] b, final int off, final int len) { this.b = b; // checks the class version /* SPRING PATCH: REMOVED FOR FORWARD COMPATIBILITY WITH JDK 9 if (readShort(off + 6) > Opcodes.V1_8) { ...原创 2020-12-11 16:39:54 · 316 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - MetadataReader读取*.class文件
解析class文件,读取类元信息package cn.java.demo.beantag.internal.metareader;import lombok.Data;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class FooOneService extends FooOneSuper0 implements FooOneInterface, FooTwoInterface { public void method0() {原创 2020-12-11 16:32:31 · 316 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - 数据绑定 BeanWrapper
代码package cn.java.demo.base.internal.bean_wrapper;import lombok.Data;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.BeanWrapper;import org.springframework.beans.MutablePropertyValues;import org.springframework.beans.Property...原创 2020-12-03 15:17:17 · 135 阅读 · 1 评论 -
spring boot 1.5.3 源代码片段 - 数据绑定 PropertiesConfigurationFactory
package cn.java.demo.base.internal.properties_config;import lombok.Data;import lombok.extern.slf4j.Slf4j;import org.springframework.boot.bind.PropertiesConfigurationFactory;import org.springframework.boot.context.properties.ConfigurationPropertie...原创 2020-12-03 14:38:43 · 620 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - spring-messaging - DefaultSubscriptionRegistry
订阅者注册中心org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry1、访问缓存2、更新缓存3、数据存储org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry.DestinationCacheprivate class DestinationCache { /** Map from destination ->原创 2020-11-25 19:08:09 · 235 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - tx - @Transactional 注解的属性
protected TransactionAttribute parseTransactionAnnotation(AnnotationAttributes attributes) { RuleBasedTransactionAttribute rbta = new RuleBasedTransactionAttribute(); Propagation propagation = attributes.getEnum("propagation"); rbta.setPropagationBe.原创 2020-11-24 17:54:07 · 162 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - webmvc - handler适配器RequestMappingHandlerAdapter
参数解析器默认“带@ModelAttribute注解或者带@RequestMapping注解的方法”参数解析器:默认“带@ModelAttribute注解或者带@RequestMapping注解的方法”参数解析器: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.getDefaultArgumentResolvers() { List<HandlerMethodArg原创 2020-11-19 10:45:02 · 302 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - webmvc - DataBinder数据绑定
@Slf4jpublic class DataBinderTest { public static void main(String[] args) { { // 要填充的目标对象 & 绑定器 FooOneEntity bindObject = new FooOneEntity(); String fooFieldName = "name"; DataBinder da...原创 2020-11-18 19:42:23 · 181 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - webmvc - handler适配器AnnotationMethodHandlerAdapter【已废弃】
方法请求参数注解方法每个参数可包含的注解有:@RequestParam、@RequestHeader、@RequestBody、@CookieValue、@PathVariable、@ModelAttribute、@Value、@Validated其中互斥的注解有:@RequestParam、@RequestHeader、@RequestBody、@CookieValue、@PathVariable、@ModelAttributefor (Annotation paramAnn : p...原创 2020-11-18 18:47:44 · 379 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - webmvc - doDispatch、2种handler、3中handler适配器、视图渲染
doDispatch/** * 1、检查是否是 Multipart 类型的请求 * processedRequest = checkMultipart(request); * 2、迭代 handlerMappings 列表(实现 HandlerMapping 接口,默认2种),调用 HandlerExecutionChain handler = hm.getHandler(request),匹配出 Handler * mappedHandler = getHandle...原创 2020-11-18 15:53:16 · 124 阅读 · 0 评论 -
spring boot 1.5.3 源代码片段 - 缓存
1、自动配置类// org.springframework.boot.autoconfigure.EnableAutoConfiguration=\// org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration 2、支持的缓存类型org.springframework.boot.autoconfigure.cache.CacheConfigurationsstatic { Map<Ca...原创 2020-11-11 11:27:10 · 94 阅读 · 0 评论 -
spring boot 1.5.3 源代码 - 对注解支持的核心点
spring boot 对注解的支持触发点org.springframework.boot.SpringApplication.run(...){ org.springframework.boot.SpringApplication.prepareContext(...) { org.springframework.boot.SpringApplication.prepareContext(...) { org.spring原创 2020-09-13 21:57:05 · 80 阅读 · 0 评论 -
spring boot 1.5.3 源代码 - 扩展机制 - 自动配置
org.springframework.boot.autoconfigure.EnableAutoConfigurationImportSelector@Override public String[] selectImports(AnnotationMetadata annotationMetadata) { if (!isEnabled(annotationMetadata)) { return NO_IMPORTS; } try { /* 获取自动配置元...原创 2020-09-13 21:34:37 · 175 阅读 · 0 评论 -
spring boot 1.5.3 源代码 - 启动流程
1、初始化 1、获取 initializers // 加载类路径中所有"META-INF/spring.factories"文件中的所有属性文件,查找键为“org.springframework.context.ApplicationContextInitializer”的类列表,实例化所有ApplicationContextInitializer类 setInitializers((Collection) getSpringFactoriesInstance...原创 2020-09-13 21:24:17 · 141 阅读 · 0 评论