核心配置文件入口类的执行顺序
该类实现了两个接口:ApplicationListener<ContextRefreshedEvent>,ServletContextAware
执行顺序如下:
(1)依赖资源的注入
比如使用注解@Resource的setter方法
(2)实现接口ServletContextAware的setServletContext 方法
(3)onApplicationEvent方法
核心配置类如下:
package com.xx.config; import com.xxx.util.SpringMVCUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationListener; import org.springframework.context.annotation.Configuration; import org.springframework.context.event.ContextRefreshedEvent; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.MutablePropertySources; import org.springframework.web.context.ServletContextAware; import javax.annotation.Resource; import javax.servlet.ServletContext; /** * Created by 黄威 on 9/19/16.<br > * 读取配置文件的核心类,是获取properties参数的唯一入口<br > * 执行顺序<br> */ @Configuration public class EnvironmentBean implements ApplicationListener<ContextRefreshedEvent>,ServletContextAware { @Autowired ConfigurableEnvironment env; private MutablePropertySources sources; private ServletContext servletContext; public String getProperty(String key) { if(env.containsProperty(key)){ return env.getProperty(key); } return null; } /*** * Spring容器加载完成触发,可用于初始化环境,准备测试数据、加载一些数据到内存 * @param contextRefreshedEvent */ @Override public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { System.out.println("add Sources to env ..."); SpringMVCUtil.addCustomPropertySources(this.sources, env); System.out.println("add Sources to env completely"); API.init(this); Const.init(this); } public MutablePropertySources getSources() { return sources; } @Resource public void setSources(MutablePropertySources sources2) { System.out.println("setSources"); this.sources = sources2; } @Override public void setServletContext(ServletContext servletContext) { this.servletContext=servletContext; System.out.println("setServletContext"); this.servletContext.setAttribute("passporttest", "www.abc.com"); } }
相关推荐
DataX的执行流程从加载配置文件开始。配置文件中包含了Job、Plugin、Core的配置信息。ConfigurationParser解析Job、Plugin、Core配置文件,读取用户配置的json文件,转换为内部的Configuration配置,并打印相关信息...
3. **进入WinMain函数**:`WinMain()`函数是MFC应用程序的入口点,它实际上是由MFC框架提供的,位于`WINMAIN.CPP`文件中。该函数的实现是: ```cpp int _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, ...
Bootstrap类加载器完成后,Tomcat会使用系统类加载器(System ClassLoader)加载服务器的全局配置文件,如`server.xml`。这个文件定义了Tomcat的整体架构,包括服务(Service)、连接器(Connector)和引擎(Engine)等组件...
2. **控制流程**:入口文件定义了程序的执行顺序。它调用其他模块和函数,控制整个程序的流程。例如,启动一个Web服务器、运行批处理任务或者执行主业务逻辑。 3. **命令行参数处理**:在Python中,我们可以使用`...
在本文中,我们将深入探讨Spring Security的配置文件小结,逐步深化到URL级别的保护。 首先,我们需要理解Spring Security的核心组件。这些包括`WebSecurityConfigurerAdapter`,这是自定义安全配置的主要入口点;`...
`web.xml`配置文件在Struts2中扮演着至关重要的角色,它是整个应用的部署描述符,定义了应用程序的入口点、过滤器、Servlet以及其他Web组件的配置信息。在这里,我们将深入探讨`web.xml`配置文件在Struts2中的应用...
- `Global.asax`文件中定义了路由配置,在第一次请求时会被加载。 - `RouteTable`对象用于存储所有已注册的路由信息。 - `RouteData`对象包含了路由匹配后的参数信息。 - `RequestContext`对象封装了请求上下文...
- 在 Shiro 的 XML 配置文件中,需要定义这两个 Realm 和过滤器,并将它们添加到安全链中。配置应包括 Realm 的数据源、过滤器的执行顺序以及登录失败后的处理逻辑。 以下是一个简化版的 XML 配置示例: ```xml ...
11. 加载当前应用模式定义的核心文件(例如普通模式下是ThinkPHP/Mode/common.php),这通常包括核心配置文件和其他重要的模块文件。 12. 加载惯例配置文件(例如ThinkPHP/Conf/convention.php),这些配置文件包含...
iBATIS的核心竞争力在于其SqlMap配置文件,它包含`Statement`语句,如CRUD操作。通过解析配置文件,iBATIS生成`ParameterMap`和`ResultMap`对象,分别用于处理输入参数和SQL执行结果。`Statement`类结构图展示了这些...
- 动作类的搜索顺序遵循一定的规则,通常情况下,Struts2会根据配置文件中的顺序来查找对应的动作类。 通过以上内容,我们可以了解到Struts2作为一个成熟的MVC框架,在项目开发中扮演的重要角色。从环境搭建到第一...
在qcadoo MES系统中,web.xml定义了应用程序的启动顺序、URL映射、安全设置等,它是Spring MVC或者Struts等MVC框架的入口点,决定了Web应用的基本行为。 3. **root-context.xml**: 这是Spring框架的应用上下文配置...
6. **Configuration Manager**:ActionProxy通过Configuration Manager查询配置文件(通常是struts.xml),找到需要执行的Action类。 7. **ActionInvocation**:ActionProxy创建一个ActionInvocation实例,这个实例...
Struts2的核心配置文件是`struts.xml`,这是应用的入口点,用于定义Action、结果类型、包等元素。在配置文件中,我们通常会看到如下内容: ```xml <result name="success">/success.jsp ``` 上述配置...
Webpack 的核心配置文件通常命名为 `webpack.config.js`,这是一个 JavaScript 对象,包含各种配置项。 ```javascript module.exports = { entry: './src/index.js', output: { path: path.resolve(__dirname, '...
在项目中,通常会有一个`applicationContext.xml`配置文件,定义Bean的实例化和装配规则。例如,定义数据库连接池、数据源、事务管理器等。此外,Spring还负责管理Service和DAO层的Bean,通过扫描特定包下的类并自动...
1. **核心配置**:Struts2的核心配置通常在`struts.xml`文件中进行,这是框架的入口点。这个文件定义了Action、包、拦截器和结果等元素。例如,你可以设置默认的拦截器栈,以及全局结果类型,这些配置对整个应用生效...
【web.xml】是Java Web应用程序的核心配置文件,用于定义应用的结构、行为和运行时环境。它是基于XML的,遵循特定的语法规则和元素顺序。以下是对web.xml配置文件中各个元素的详细说明: 1. **定义头和根元素** - ...
执行顺序从配置常量开始,接着是注册Composer自动加载器,包含Yii核心类文件以及加载应用配置。之后,通过实例化应用配置并调用run方法来创建、配置和运行应用。此外,还介绍了Yii框架入口的位置以及应用主体的概念...