velocity源码分析:初始化之配置文件

本文深入解析了Velocity引擎的配置初始化过程,重点介绍了RuntimeInstance类中initializeProperties方法的作用及其实现方式,包括默认配置的设置与外部配置文件的加载流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前在“velocity源码分析:velocity初始化”文章中粗略地介绍了velocity整体的初始化过程,包括各个系统的初始化,本文主要介绍配置文件初始化。

RuntimeInstance.java 代码:

private void initializeProperties()
    {
        /*
         * Always lay down the default properties first as
         * to provide a solid base.
         */
        if (configuration.isInitialized() == false)
        {
            setDefaultProperties();
        }

        if( overridingProperties != null)
        {
            configuration.combine(overridingProperties);
        }
    }


RuntimeInstance.initializeProperties()代码比较简单,先读取默认配置到configuration中,再根据通过外部初始化,如果通过外部初始化,用外部初始化文件替换原先的配置;如果是不同,就新增。


看几个代码调用点来了解一下和编码的调用关系:

Velocity初始化:

Velocity.init(propsFilename) ->

RuntimeSingleton.init(propsFilename); ->

new RuntimeInstance().init( configurationFile ); ->

setProperties(new ExtendedProperties(configurationFile)); ->

overridingProperties = p;


特点:

1.默认初始化

2.增量初始化

3.动态初始化

至此:RuntimeInstance中:

private  ExtendedProperties configuration = new ExtendedProperties();

初始化好了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值