zoukankan      html  css  js  c++  java
  • spring获取配制文件的参数

    项目中需要获取一些万年不变的参数,比如单点登录的域名

    怎么从多个文件配置中获取呢,原来spring早已经提供了类PropertyPlaceholderConfigurer

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:jdbc="http://www.springframework.org/schema/jdbc"
           xmlns:jee="http://www.springframework.org/schema/jee"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xmlns:util="http://www.springframework.org/schema/util"
           xmlns:mongo="http://www.springframework.org/schema/data/mongo"
           xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.2.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
           http://www.springframework.org/schema/data/mongo
           http://www.springframework.org/schema/data/mongo/spring-mongo-1.2.xsd
              http://www.springframework.org/schema/jdbc
            http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
            http://www.springframework.org/schema/jee
            http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
            http://www.springframework.org/schema/data/jpa
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
            http://www.springframework.org/schema/util
            http://www.springframework.org/schema/util/spring-util-3.2.xsd">
        <!-- 开启IOC注解扫描 -->
        <context:component-scan base-package="org.great" />
    
        <!-- 开启MVC注解扫描 -->
        <mvc:annotation-driven />
    
        <bean id="systemProperties" class="org.great.Untiltools.SystemProperties">
            <property name="locations">
                <list>
                    <value>classpath:/PropertiesTest/core.properties</value>
                </list>
            </property>
            <property name="fileEncoding" value="utf-8"/>
        </bean>
        
    </beans>
    @Data
    public class SystemProperties extends PropertyPlaceholderConfigurer {//继承这个类即可
    
        private Properties mergedProp = new Properties();
        @Override
        protected Properties mergeProperties() throws IOException {//一定要重写,否则默认使用默认的
            mergedProp = super.mergeProperties();
            return mergedProp;
        }
    
        public String getContextValue(String key) {
            Assert.notNull(key, "key值无效");
            if(mergedProp.containsKey(key)){
               return  (String) mergedProp.get(key);
            }else {
                throw new RuntimeException("key值不存在");
            }
        }



    测试一下
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration("classpath:/springPropertise.xml")
    public class SystemPropertiesTest {
    
        @Resource(name="systemProperties")
        SystemProperties systemProperties;
        @Test
        public void test(){
           String ss= systemProperties.getContextValue("database.maxWait");
            int c=0;
    
    
        }
    
    
    
    
    

     参考博客:http://blog.csdn.net/irokay/article/details/73010676

  • 相关阅读:
    XML操作类
    输入框样式总结
    根据计算机MAC地址限定每台机子只能领取一次账号
    ico图标的应用
    C#实现关机功能
    在sql中实现数组
    JSON
    MvcHtml.ActionLink()用法
    Brettle.Web.NeatUpload.dll 大文件上传
    asp.net 创建Access数据库
  • 原文地址:https://www.cnblogs.com/jinjian91/p/8285064.html
Copyright © 2011-2022 走看看