zoukankan      html  css  js  c++  java
  • Spring源码情操陶冶-AbstractApplicationContext#postProcessBeanFactory

    阅读源码有利于陶冶情操,承接前文Spring源码情操陶冶-AbstractApplicationContext#prepareBeanFactory
    约定:web.xml中配置的contextClassXmlWebApplicationContext

    瞧瞧官方注释

    /**
    	 * Modify the application context's internal bean factory after its standard
    	 * initialization. All bean definitions will have been loaded, but no beans
    	 * will have been instantiated yet. This allows for registering special
    	 * BeanPostProcessors etc in certain ApplicationContext implementations.
    	 * @param beanFactory the bean factory used by the application context
    	 */
    

    主要承接前文中的prepareBeanFactory()方法后,供子类在标准的基础上再添加自定义的属性性质,主要是注册BeanPostProcessors

    源码简析

    对应的父类AbstractRefreshableWebApplicationContext#postProcessBeanFactory代码清单如下

    	/**
    	 *注册request/session环境
    	 * Register request/session scopes, a {@link ServletContextAwareProcessor}, etc.
    	 */
    	@Override
    	protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
    		//注册ServletContextAwareProcessor
    		beanFactory.addBeanPostProcessor(new ServletContextAwareProcessor(this.servletContext, this.servletConfig));
    		beanFactory.ignoreDependencyInterface(ServletContextAware.class);
    		beanFactory.ignoreDependencyInterface(ServletConfigAware.class);
    		//注册web环境,包括request、session、golableSession、application
    		WebApplicationContextUtils.registerWebApplicationScopes(beanFactory, this.servletContext);
    		//注册servletContext、contextParamters、contextAttributes  、servletConfig单例bean
    		WebApplicationContextUtils.registerEnvironmentBeans(beanFactory, this.servletContext, this.servletConfig);
    	}
    

    具体的调用BeanFactoryPostProcessors可见下节

    下节预告

    Spring源码情操陶冶-AbstractApplicationContext#invokeBeanFactoryPostProcessors

  • 相关阅读:
    一张图搞定OAuth2.0
    OAuth2.0的refresh token
    ACCESS_TOKEN与FRESH_TOKEN
    关于token和refresh token
    如何解决前后端token过期问题
    对外开放的接口验证方式
    python api接口认证脚本
    Python Thrift 简单示例
    整数中1出现的次数(从1到n整数中1出现的次数)
    连续子数组的最大和
  • 原文地址:https://www.cnblogs.com/question-sky/p/6760811.html
Copyright © 2011-2022 走看看