web开发几种获取资源属性文件的方法

        web开发,经常使用资源属性(*.properties)存储系统变量,例如db.properties存放jdbc连接属性,redis.properties存放redis连接属性。而程序往往多个场景使用这些系统变量,下面根据使用场景对获取资源属性文件进行详细描述。

一、xml文件获取资源属性文件

        spring mvc + mybatis项目,需要指定工程数据源和mybatis配置属性,一般是以spring-mybatis.xml作为mybatis在spring中的集成配置。spring-mybatis.xml可以直接使用el表达式获取db.proprities文件中变量,eg:${jdbc.username}、${jdbc.password}

web开发几种获取资源属性文件的方法_第1张图片
db.properties
web开发几种获取资源属性文件的方法_第2张图片
spring-mybatis.xml

二:JAVA程序获取资源属性文件

     java程序有两种方法可获取配置文件中变量;

2.1使用ResourceBundle获取

      java.util.ResourceBundle提供国际化捷径。通过此类,可以读取资源属性文件(*.properties),然后依据*.properties文件的名称信息,匹配当前系统的国别语言信息,然后获取相应的*.properties文件的内容。

      首先根据文件路径和语言环境获取国际化文件;

       再根据资源属性文件中key值,获取value;

2.2使用spring @Value注解方式直接获取资源属性文件中变量值

       此种方法,直接可以作用在类的变量上,变量量加上@Value("xxx")注解,即可从资源属性文件查找变量xxx=yyy,并把yyy set给类的变量;eg:

        从资源属性文件中查找imghost.url的值,并将值set给imghost变量;

三、页面获取资源属性文件

       有些业务场景,页面需要获取资源属性文件中的变量,并展示出。下面针对freemarker渲染模板引擎,讲讲在.ftl如何获取资源文件。

1、配置freemarker视图解析器;用于视图解析,后台将需要渲染在页面上的对象放入ModelMap中,通过视图解析器,解析并渲染至页面中;

web开发几种获取资源属性文件的方法_第3张图片
freemarker解析器配置

2、配置spring资源文件;“messages”是资源配置文件名称,messages.properties

web开发几种获取资源属性文件的方法_第4张图片

3、自定义spring.ftl文件;spring.ftl文本内容链接;

4、页面引用spring.ftl

<#import"/common/spring.ftl" as spring/>

5、使用<@spring/>实现读取资源文件;eg:<@spring.message“jdbc.username”/>,从第二步配置资源文件message.properties读取jdbc.username的值。

ps:对spring整合freemarker国际化的朋友,可以跟踪spring.ftl、AbastractTemplateView.java、RequestContext.java源码,里面有答案。

你可能感兴趣的:(web开发几种获取资源属性文件的方法)