spring 源码
luhaichuan88
蓦然回首
展开
-
spring security 集成cas实现单点登录
最近接了一个任务,公司之前为客户做了很多的系统,后面做成了通用的业务系统准备向外销售,因此需要做一个演示系统将所有业务系统都放到演示系统中,用户在演示系统登录后可以访问其中的任意业务系统,这一听就是一个单点登录的需求啊,因此就去了解了下,发现了CAS,CAS是中央认证服务Central Authentication Service的简称。最初由耶鲁大学的Shawn Bayern 开发,后由Jasig社区维护,经过十多年发展,目前已成为影响最大、广泛使用的、基于Java实现的、开源SSO解...原创 2021-08-24 10:40:31 · 2410 阅读 · 0 评论 -
spring 源码解读十一 finishBeanFactoryInitialization(beanFactory);
今天解读spring最重要的方法之一finishBeanFactoryInitialization(beanFactory);此方法用来初始化、实例化用户在系统中定义的单例bean,具体有哪些bean会被初始化跟实例化可以在refresh 方法的第五步invokeBeanFactoryPostProcessors(beanFactory); 这个方法执行完成后查看BeanFactory中的BeanDefinitionMap集合中的数据,BeanDefinitionMap集合中的数据就是即将被初始化跟..原创 2021-07-19 15:54:03 · 330 阅读 · 0 评论 -
spring 源码解读十 registerListeners
registerListeners 是将各种实现了ApplicationListener 的监听器注册到ApplicationEventMulticaster原创 2021-06-01 11:47:37 · 195 阅读 · 0 评论 -
spring 源码解读九 onRefresh()
onRefresh 是一个用户可扩展的方法,具体实现可以看下spring boot 后面如果能更新到spring boot在细说原创 2021-06-01 11:24:57 · 198 阅读 · 0 评论 -
spring 源码解读八 initApplicationEventMulticaster()
initApplicationEventMulticaster 初始化事件广播器/** * Initialize the ApplicationEventMulticaster. * Uses SimpleApplicationEventMulticaster if none defined in the context. * @see org.springframework.context.event.SimpleApplicationEventMulticaster */ pr.原创 2021-06-01 11:10:16 · 191 阅读 · 0 评论 -
spring 源码解读七 initMessageSource()
/** * Initialize the MessageSource. * Use parent's if none defined in this context. */protected void initMessageSource() { //获取到之前创建的 DefaultListableBeanFactory ConfigurableListableBeanFactory beanFactory = getBeanFactory(); /** * 首先判断一下用.原创 2021-06-01 11:02:34 · 253 阅读 · 0 评论 -
spring 源码解读六 registerBeanPostProcessor(beanFactory)
这节分析AbstractApplicationContext -> registerBeanPostProcessors(beanFactory) 这个方法这个方法是向BeanFactory中注册所有实现了BeanPostProcessor的接口用来在 bean实例化前后,初始化前后进行执行AbstractApplicationContext -> registerBeanPostProcessors(beanFactory)/** * Instantiate and register..原创 2021-05-25 17:46:04 · 154 阅读 · 0 评论 -
spring 源码解读五 ConfigurationClassPostProcessor
ConfigurationClassPostProcessor 是spring注解注入bean的核心类,ConfigurationClassPostProcessor implements BeanDefinitionRegistryPostProcessor因此ConfigurationClassPostProcessor是BeanDefinitionRegistryPostProcessor 的子类,在执行 BeanFactoryPostProcessor的时候回首先执行到postProces...原创 2021-05-25 17:04:49 · 194 阅读 · 2 评论 -
spring 源码解读四 invokeBeanFactoryPostProcessors(beanFactory) 方法
这一章重点看下AbstractApplicationContext ->invokeBeanFactoryPostProcessors(beanFactory) 这个方法AbstractApplicationContext ->invokeBeanFactoryPostProcessors(beanFactory)这个方法算是spring的灵魂方法之一了,在说这个方法之前有必要画下spring实例化单例bean的流程图如图所示,这次我们要看的这个方法就是执行beanFa...原创 2021-05-25 14:50:24 · 369 阅读 · 1 评论 -
spring 源码解读三 prepareBeanFactory 方法
今天来看prepareBeanFactory(beanFactory) 这个方法AbstractApplicationContext ->prepareBeanFactory(beanFactory)/** * Configure the factory's standard context characteristics, * such as the context's ClassLoader and post-processors. * @param beanFacto...原创 2021-05-20 17:06:43 · 151 阅读 · 0 评论 -
spring 源码解读二 AbstractApplicationContext refresh
今天我们重点来看下AbstractApplicationContext 的refresh()方法,上次说了这个方法算是spring最核项的方法了大概可以归为 13个方法@Override public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { // Prepare this context for refreshin..原创 2021-05-19 18:12:22 · 193 阅读 · 0 评论 -
spring 源码解读一 ClassPathXmlApplicationContext
最近闲来无事翻阅了下spring的源码,在此记录下心得体会spring 是一个ioc框架,我们要进行spring相关的源码阅读最好的入口就是ClassPathXmlApplicationContext通过以下代码正式进入spring的源码世界:ApplicationContext applicationContext = new ClassPathXmlApplicationContext("myApplicationContext.xml");它的类图结构如下:我们通过d...原创 2021-05-19 16:09:00 · 610 阅读 · 2 评论