Spring IOC 初始化刷新流程四:postProcessBeanFactory(beanFactory)

Spring IOC 初始化刷新流程:https://www.cnblogs.com/jhxxb/p/13609289.html

模版方法。因为 beanFactory 都准备好了,子类可以去实现自己的逻辑。

比如一些 Web 的 ApplicationContext,就实现了自己的逻辑,做一些 Web 相关的事情。此处是 Web 环境下,因此会进 AbstractRefreshableWebApplicationContext#postProcessBeanFactory 方法

方法源码

public abstract class AbstractRefreshableWebApplicationContext extends AbstractRefreshableConfigApplicationContext implements ConfigurableWebApplicationContext, ThemeSource {
    @Override
    protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
        // 注册 ServletContextAwareProcessor,这样任意 Bean 都可以很方便的获取到 ServletContext,同时忽略另外两个,因为 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);
    }

Spring MVC 工具类

CookieGenerator

生成 Cookie 的

HtmlUtils

对页面上提交的特殊字符进行 html 转码

JavaScriptUtils

将 JavaScript 特殊字符转换为转义字符


https://blog.csdn.net/f641385712/article/details/87814153

原文地址:https://www.cnblogs.com/jhxxb/p/13953816.html