Spring
pyd950812
实战
展开
-
深入理解Spring系列(一)
首先,看一下 Spring 的最基本使用方式,直接看代码,public class LoginService { public void login() { System.out.println("execute LoginService"); }}public class LoginResource { private LoginService ...原创 2019-04-26 16:01:23 · 172 阅读 · 0 评论 -
深入理解Spring系列之十:DispatcherServlet请求分发源码分析
DispatcherServlet是SpringMVC的核心分发器,它实现了请求分发,是处理请求的入口,本篇将深入源码分析它的请求分发过程Servlet在service方法中进行请求接收与分发,DispatcherServlet的service方法继承自HttpServlet,具体代码如下图所示。在FrameworkServlet中对这个protected修饰的servic...原创 2019-04-30 10:50:01 · 151 阅读 · 0 评论 -
深入理解Spring系列之八:常用的扩展接口
Spring不仅提供了一个进行快速开发的基础框架,而且还提供了很多可扩展的接口,用于满足一些额外的开发需求,本篇将对常用的可扩展接口进行归纳总结1.InitializingBean接口InitializingBean接口中只有一个afterPropertiesSet方法,从方法的名称上很容易理解,这个方法是在Bean的属性都设置值后被调用,用于完成一些初始化工作。当然,在Spring的配置文...原创 2019-04-26 17:14:58 · 358 阅读 · 0 评论 -
深入理解Spring系列之七:web应用自动装配Spring配置
在《深入理解Spring系列之一:开篇》的示例代码中使用如下方式去加载Spring的配置文件并初始化容器。 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");在web应用中,配置文件都是自动加载的,示例代...原创 2019-04-26 17:08:00 · 281 阅读 · 0 评论 -
深入理解Spring系列之六:bean初始化
《深入理解Spring系列之四:BeanDefinition装载前奏曲》中提到,对于非延迟单例bean的初始化在finishBeanFactoryInitialization(beanFactory)中完成。进入这个方法,代码如下。protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory be...原创 2019-04-26 17:05:20 · 198 阅读 · 0 评论 -
深入理解Spring系列之五:BeanDefinition装载
接上篇《深入理解Spring系列之四:BeanDefinition装载前奏曲》,进入AbstractXmlApplicationContext类的loadBeanDefinitions方法,代码如下所示。 @Override protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) th...原创 2019-04-26 17:00:39 · 236 阅读 · 0 评论 -
深入理解Spring系列之四:BeanDefinition装载前奏曲
框架的源码分析,有些代码可以暂时忽略,如Spring如何进行XML模式校验的、XML解析的细节等,这些代码可以在了解了整体的原理之后,再做针对性的分析,关注重点内容即可,切记在一开始就去深挖每个细节,这样不仅会耗费很长时间,而且容易陷入某个坑里出不来。以《深入理解Spring系列之一》示例中的ApplicationContext applicationContext = new ClassPa...原创 2019-04-26 16:37:43 · 145 阅读 · 0 评论 -
深入理解Spring系列之三:BeanFactory解析
在Spring容器启动的过程中,会将类解析成Spring内部的BeanDefinition结构,并将BeanDefinition存储到一个叫DefaultListableBeanFactory中,本篇将深入分析BeanFactory首先,看一下DefaultListableBeanFactory的类图,可以看到 DefaultListableBeanFactory 间接实现了BeanFac...原创 2019-04-26 16:23:51 · 200 阅读 · 0 评论 -
深入理解Spring系列之二:BeanDefinition解析
Spring容器启动的过程中,会将Bean解析成Spring内部的BeanDefinition结构,本篇将深入分析这个BeanDefinition的内部结构。直接看BeanDefinition源码,public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement { /** *...原创 2019-04-26 16:14:28 · 222 阅读 · 0 评论 -
Spring Aysnc 最佳实践
1. @Async 的工作机制首先为方法添加 `Async` 注解。接着,Spring 会基于 `proxyTargetClass` 属性,为包含 `Async` 定义的对象创建代理(JDK Proxy/CGlib)。最后,Spring 会尝试搜索与当前上下文相关的线程池,把该方法作为独立的执行路径提交。确切地说,Spring 会搜索唯一的 `TaskExecutor` bean 或者名为 `...原创 2019-05-23 14:32:32 · 1314 阅读 · 0 评论