BAT的男人

本人对Spring技术栈、MyBatis等流行框架有深入研究,专注于Java社区技术的分享,做有意义的内容传播者
261 篇文章
48 人订阅

全部文章

YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】Spring解析@ComponentScan注解源码分析(ComponentScanAnnotationParser、ClassPathBeanDefinitionScanner)

前面我在这篇博文:【小家Spring】Spring解析@Configuration注解的处理器:ConfigurationClassPostProcessor(...

11820
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】控制Spring IoC容器对Bean(含@Configuration配置类)的加载顺序(@DependsOn注解的使用)

首先,先说明一点:此篇博文相对来说是比较小的专题,只讲解Spring IoC加载Bean的顺序问题。 为了更好的了解这里面的原理,建议先了解Spring容器内...

44320
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】BeanFactory体系和ApplicationContext体系,两大体系各接口分析、区别和联系

前面已经讲述了很多Spring容器启动、解析、依赖注入等等源码层面的东西了,但是小伙伴有没有一种感觉就是:Spring的设计者把面向对象使用到了极致(使用得非常...

14520
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】Spring贡献的多个注解相关的工具类:AnnotationUtils、AnnotatedElementUtils、AnnotationConfigUtils...

本文主要聊聊Spring提供的多个关于注解相关的工具类:AnnotationUtils和AnnotatedElementUtils等等 因为很多逻辑都封装在了...

14010
YourBatman

VIPKid · Java高级工程师 (已认证)

从原理层面掌握@ModelAttribute的使用(核心原理篇)【享学Spring MVC】

Spring MVC提供的基于注释的编程模型,极大的简化了web应用的开发,我们都是受益者。比如我们在@RestController标注的Controller控...

8510
YourBatman

VIPKid · Java高级工程师 (已认证)

从原理层面掌握@SessionAttributes的使用【享学Spring MVC】

该注解顾名思义,作用是将Model中的属性同步到session会话当中,方便在下一次请求中使用(比如重定向场景~)。 虽然说Session的概念在当下前后端完...

8840
YourBatman

VIPKid · Java高级工程师 (已认证)

HandlerMethodArgumentResolver(二):Map参数类型和固定参数类型【享学Spring MVC】

上文 介绍了Spring MVC用于处理入参的处理器:HandlerMethodReturnValueHandler它的作用,以及介绍了最为常用的两个参数处理器...

8620
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】Spring AOP之Advisor、PointcutAdvisor、IntroductionAdvisor、IntroductionInterceptor(引介增强)

上篇文章:【小家Spring】Spring AOP核心类Pointcut解析,对PointcutExpression切点表达式解析原理分析(以AspectJEx...

18030
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】面向切面编程Spring AOP创建代理的方式:ProxyFactoryBean、ProxyFactory、AspectJProxyFactory(JDK Proxy和CGLIB)

Spring AOP是大家都非常熟悉的一个概念,在Spring家族体系中扮演着举足轻重的作用。

10020
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】详解Spring AOP的底层代理JdkDynamicAopProxy和ObjenesisCglibAopProxy的源码分析(介绍CGLIB使用中的坑)

在前面的博文我们了解到,Spring所有的代理AopProxy的创建最后都是ProxyCreatorSupport#createAopProxy这个方法,而这个...

17020
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】从Spring中的(ApplicationEvent)事件驱动机制出发,聊聊【观察者模式】【监听者模式】【发布订阅模式】【消息队列MQ】【EventSourcing】...

说到事件驱动,我心里一直就有一个不解的疑问:它和我们老生长谈的一些概念比如:【观察者模式】【发布订阅模式】【消息队列MQ】【消息驱动】【EventSourcin...

27430
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】探讨注解驱动Spring应用的机制,详解ServiceLoader、SpringFactoriesLoader的使用(以JDBC、spring.factories为例介绍SPI)

在之前的一篇文章【小家Spring】Spring注解驱动开发—Servlet 3.0整合Spring MVC(不使用web.xml部署描述符,使用Servlet...

23120
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】Spring AOP核心类Pointcut解析,对PointcutExpression切点表达式解析原理分析(以AspectJExpressionPointcut为例)

首先需要说明一点:Pointcut接口有两个。 一个是:org.aspectj.lang.reflect.Pointcut,它是aspectj内部使用的。它只...

27730
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】资源访问利器---Spring使用ResourceLoader接口便捷的获取资源(ResourcePatternResolver、ResourceLoaderAware)

关于Spring Framework中资源的访问,上篇已经讲解了org.springframework.core.io.Resource接口,它有非常多的实现类...

11710
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】Spring AOP各个组件概述与总结【Pointcut、Advice、Advisor、Advised、TargetSource、AdvisorChainFactory...】

Spring AOP作为整个Spring体系最最重要的分支之一,若干技术都是基于它的(比如事务、异步、缓存等)

13820
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】Spring AOP的核心类:AbstractAdvisorAutoProxy自动代理创建器深度剖析(AnnotationAwareAspectJAutoProxyCreator)

上篇博文: 【小家Spring】面向切面编程之—Spring AOP的原理讲解以及源码分析(Cannot find current proxy: Set ‘e...

12930
YourBatman

VIPKid · Java高级工程师 (已认证)

【小家Spring】Spring的Bean定义注册中心BeanDefinitionRegistry详解

Spring Framework最重要的一个概念就是Bean,而Spring Bean定义是需要扫描、注册来实现统一的管理的。

9220
YourBatman

VIPKid · Java高级工程师 (已认证)

ContentNegotiation内容协商机制(一)---Spring MVC内置支持的4种内容协商方式【享学Spring MVC】

不知你在使用Spring Boot时是否对这样一个现象"诧异"过:同一个接口(同一个URL)在接口报错情况下,若你用rest访问,它返回给你的是一个json串;...

8520
YourBatman

VIPKid · Java高级工程师 (已认证)

@Validated和@Valid的区别?教你使用它完成Controller参数校验(含级联属性校验)以及原理分析【享学Spring】

上篇文章 介绍了Spring环境下实现优雅的方法级别的数据校验,并且埋下一个伏笔:它在Spring MVC(Controller层)里怎么应用呢?本文为此继续展...

13630
YourBatman

VIPKid · Java高级工程师 (已认证)

聊聊Spring Cache的缓存抽象与JSR107缓存抽象JCache,并使用API方式使用Spring Cache【享学Spring】

缓存(Cache)是计算机领域一个极其重要的概念,它是提高硬件(比如CPU、显卡)、软件运行效率非常重要且有效的一个手段,它的最大特点就一个字:速度非常快。

14320

扫码关注云+社区

领取腾讯云代金券