zoukankan      html  css  js  c++  java
  • 【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 />
  • 相关阅读:
    对象结构型
    对象结构型
    对象行为型模式
    定时任务(二)
    定时任务(一)
    kill端口-更新sql-添加字段
    获取ip和端口号
    List集合中的末位元素置首位
    首页报表数据展示(一)
    具体的类中包括枚举类写法
  • 原文地址:https://www.cnblogs.com/yangchongxing/p/9136505.html
Copyright © 2011-2022 走看看