您的位置:首页 > 编程语言 > Java开发

Struts2源码浅析-ConfigurationProvider

2016-07-19 10:52 483 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: