• 【Java Web开发学习】Spring加载外部properties配置文件


    【Java Web开发学习】Spring加载外部properties配置文件

    转载:https://www.cnblogs.com/yangchongxing/p/9136505.html

    1、声明属性源,通过Spring的Environment检索装配属性

    Environment检索的值来源于属性源,直接从Environment中检索属性是非常方便的,尤其在Java配置中装配Bean的时候,。

    package com.qq.weixin.mp.config;
    
    import java.util.HashMap;
    import java.util.Map;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    import org.springframework.core.env.Environment;
    
    @Configuration
    @PropertySource(value="classpath:weixin.properties")//属性源,maven配置位于srcmain
    esources目录下
    public class WeixinConfig {
        private String appid;
        private String appsecret;
        @Autowired
        Environment env;
        @Bean
        public Map<String, String> config() {
            appid = env.getProperty("appid");//检索属性
            appsecret = env.getProperty("appsecret");//检索属性
            Map<String, String> map = new HashMap<String, String>();
            map.put("appid", appid);
            map.put("appsecret", appsecret);
            return map;
        }
    }

    2、有配置类,通过占位符来装配属性

    占位符的值来源于属性源,占位符的形式为使用${...}包装的属性名称。

    package com.qq.weixin.mp.config;
    
    import java.util.HashMap;
    import java.util.Map;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    
    @Configuration
    @PropertySource(value="classpath:weixin.properties")//属性源
    public class WeixinConfig {
        @Value("${appid}")//占位符
        private String appid;
        @Value("${appsecret}")
        private String appsecret;
        @Bean
        public Map<String, String> config() {
            Map<String, String> map = new HashMap<String, String>();
            map.put("appid", appid);
            map.put("appsecret", appsecret);
            return map;
        }
    }

     或者定义PropertySourcesPlaceholderConfigurer Bean Spring3.1以后推荐使用

        @Bean
        public PropertySourcesPlaceholderConfigurer placeholderConfigurer() {
            return new PropertySourcesPlaceholderConfigurer();
        }
    <context:property-placeholder />
  • 相关阅读:
    使用Haskell写web
    src/lxml/etree.so: undefined symbol: xmlSchematronSetValidStructuredErrors 解决方案
    CentOS允许某一端口接受外部链接
    windows下的NTP服务
    Huffman树,Huffman编码的实现(C#)
    OpenGL的函数(GLU, GLUT)
    OpenGL的函数(GL)
    GLUT函数说明
    FreeImage使用基础,图像旋转,图像滤波
    Hello PureMVC!!!
  • 原文地址:https://www.cnblogs.com/yangchongxing/p/9136505.html
Copyright © 2020-2023  润新知