Struts2源码浅析-ConfigurationProvider
ConfigurationProvider接口 主要完成struts配置文件 加载 注册过程
ConfigurationProvider接口定义
- public interface ConfigurationProvider extends ContainerProvider, PackageProvider {
 - }
 
ContainerProvider接口定义
- /**
 - * 容器加载 注册器
 - */
 - public interface ContainerProvider {
 - public void destroy();
 - /**
 - * 初始化阶段调用
 - * XmlConfigurationProvider#init为具体实现 主要加载xml 生成Document对象
 - */
 - public void init(Configuration configuration) throws ConfigurationException;
 - /**
 - * 根据xml常量 设置是否支持reload
 - */
 - public boolean needsReload();
 - /**
 - * 解析 注册bean,struts常量到容器ContainerBuilder
 - */
 - public void register(ContainerBuilder builder, LocatableProperties props) throws ConfigurationException;
 - }
 
PackageProvider接口定义
- /**
 - * package节点加载 解析器
 - * 加载 解析xml文件配置的package节点
 - * @since 2.1
 - */
 - public interface PackageProvider {
 - /**
 - * 初始化阶段调用
 - * XmlConfigurationProvider#init为具体实现 主要加载xml 生成Document对象
 - */
 - public void init(Configuration configuration) throws ConfigurationException;
 - /**
 - * 根据xml常量 设置是否支持reload
 - */
 - public boolean needsReload();
 - /**
 - * 加载 解析 xml文件中定义的package节点 创建PackageConfig对象
 - */
 - public void loadPackages() throws ConfigurationException;
 - }
 

StrutsXmlConfigurationProvider:struts 相关xml 加载解析
BeanSelectionProvider:根据struts常量配置 初始化与其他框架整合用到的类 例如xml中配置struts.objectFactory为spring 就需要StrutsSpringObjectFactory
LegacyPropertiesConfigurationProvider: strutus 相关的properties文件
DefaultPropertiesProvider:: 初始化org/apache/struts2/default.properties文件
转载:Struts2源码浅析-ConfigurationProvider mark
Struts2源码浅析-ConfigurationProvider的更多相关文章
- Struts2源码阅读(一)_Struts2框架流程概述
		
1. Struts2架构图 当外部的httpservletrequest到来时 ,初始到了servlet容器(所以虽然Servlet和Action是解耦合的,但是Action依旧能够通过httpse ...
 - 【深入浅出jQuery】源码浅析--整体架构
		
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...
 - 【深入浅出jQuery】源码浅析2--奇技淫巧
		
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...
 - Struts2 源码分析——DefaultActionInvocation类的执行action
		
本章简言 上一章讲到关于拦截器的机制的知识点,让我们对拦截器有了一定的认识.我们也清楚的知道在执行用户action类实例之前,struts2会先去执行当前action类对应的拦截器.而关于在哪里执行a ...
 - Struts2 源码分析——拦截器的机制
		
本章简言 上一章讲到关于action代理类的工作.即是如何去找对应的action配置信息,并执行action类的实例.而这一章笔者将讲到在执行action需要用到的拦截器.为什么要讲拦截器呢?可以这样 ...
 - Struts2 源码分析——Action代理类的工作
		
章节简言 上一章笔者讲到关于如何加载配置文件里面的package元素节点信息.相信读者到这里心里面对struts2在启动的时候加载相关的信息有了一定的了解和认识.而本章将讲到关于struts2启动成功 ...
 - Struts2 源码分析——配置管理之PackageProvider接口
		
本章简言 上一章讲到关于ContainerProvider的知识.让我们知道struts2是如何注册相关的数据.也知道如何加载相关的配置信息.本章笔者将讲到如何加载配置文件里面的package元素节点 ...
 - Struts2 源码分析——配置管理之ContainerProvider接口
		
本章简言 上一章笔者讲到关于Dispatcher类的执行action功能,知道了关于执行action需要用到的信息.而本章将会讲到的内容也跟Dispatcher类有关系.那就是配置管理中的Contai ...
 - Struts2 源码分析——调结者(Dispatcher)之执行action
		
章节简言 上一章笔者写关于Dispatcher类如何处理接受来的request请求.当然读者们也知道他并非正真的执行action操作.他只是在执行action操作之前的准备工作.那么谁才是正真的执行a ...
 
随机推荐
- 【POJ 3041】Asteroids (最小点覆盖)
			
每次选择清除一行或者一列上的小行星.最少选择几次. 将行和列抽象成点,第i行为节点i+n,第j列为节点j,每个行星则是一条边,连接了所在的行列. 于是问题转化成最小点覆盖.二分图的最小点覆盖==最大匹 ...
 - Unity 移动端触摸屏操作
			
Unity 触屏操作 当将Unity游戏运行到IOS或Android设备上时,桌面系统的鼠标左键可以自动变为手机屏幕上的触屏操作,但如多点触屏等操作却是无法利用鼠标操作进行的.Unity的Input类 ...
 - python3下的paramiko 安装
			
环境为centos6.7 python3为源码编译安装的,系统自带的python2 可以直接使用paramiko模块,但是在py3的环境下加载出错,所有需要安装新的paramiko 模块: 上了par ...
 - response与文件下载
			
参考博客: http://www.cnblogs.com/lcpholdon/p/4380980.html http://www.cnblogs.com/mingforyou/p/3281945.ht ...
 - Getshell Via phpmyadmin SQL Execution In /import.php To Write Evil Webshell File Into Disk
			
目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上 ...
 - Android——PULL解析XML
			
简介 Android中常常使用XML文件保存用户的APP设置信息.因此需要对XML文件的相关操作进行了解.本文将以<学生信息管理系统>为案例背景进行介绍相关的XML解析的介绍,以及其他相关 ...
 - 谈谈favicon和他带来的问题
			
favicon.ico介绍 favicon.ico是个什么东西呢,也许见得太多都习以为常了(我就是这样,直到写这篇文章之前才知道),看看维基百科的解释: Favicon是favorites icon的 ...
 - 解决Eclipse 项目报错:Unbound classpath container
			
Eclipse出现下面两条报错: The project cannot be built until build path errors are resolved HelloWord Unknown ...
 - 给linux添加yum源。
			
在玩linux的过程中,经常会下载一些源码包.软件大多是国外人写的,由于众所周知的原因,网络下载很慢. 所以想到了更新yum源的方法. 我的linux版本是CentOS6.3的. 以下参考百度. 1, ...
 - Mysql数据库基本操作 (一)
			
1.使用mysql数据库的必备要素 a. 安装MySQL服务端 b. 安装MySQL客户端 c. [客户端]连接[服务端] d. [客户端]发送命令给[服务端MySQL]服务的接受命令并执行相应操作( ...