zoukankan      html  css  js  c++  java
  • Springboot 获取yml、properties参数

    获取properties或yml文件的配置数据(两种方法)(默认的application文件或者自定义的yml和properties)

    1、使用@Value()注解
    1.1 配置数据
    如:在properties.yml文件配置如下数据
        message_zh: 张三
        message_en: ergouzi
    在controller中获取:
    1.2 读取数据
    读取自定义文件:须加注解
    @PropertySource(value = {"classpath:config.yml","classpath:config.properties"})

     读取application文件不需要加注解
    // 中文
    @Value("${message_zh}")
    private String message_zh;
    // 英文
    @Value("${message_en}")
    private String message_en;
    
    @RequestMapping(value = "/{id}")
    public String index(HttpServletRequest request, @PathVariable Integer id){
        if (id == 1 ){
            request.setAttribute("info",message_zh);
        }else {
            request.setAttribute("info", message_en);
        }
        return "index";
    }

     2、使用 @component
        @ConfigurationProperties(prefix = "user")
        @PropertySource(value = "classpath:myConfig.properties")

    首先在myConfig.properties或myConfig.yml中配置参数:
        user.userName = '李二狗'
        user.password = 'admin'
    
    2.1 javabean
    /**
     * 〈一句话功能简述〉<br> 
     * 〈yml或properties配置参数〉
     *
     * @author 丶Zh1Guo
     * @create 2018/11/21
     * @since 1.0.0
     */
    @Component                                // 组件
    @ConfigurationProperties(prefix = "user")              // 前缀
    @PropertySource(value = "classpath:myConfig.properties")    // 自定义配置文件路径
    public class properConfig {
        private String userName;   // 注意要和配置文件一致
        private String password;
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    }
    2.2 controller
    /**
     * 〈一句话功能简述〉<br> 
     * 〈〉
     *
     * @author 丶Zh1Guo
     * @create 2018/11/21
     * @since 1.0.0
     */
    @restController
    public class template {
        @Autowired
        properConfig config;
    
        @RequestMapping(value = "/config")
        public String config(){
            return config.getUserName();
        }
    }

    总结:

    第一种方法适合只取某些数据

    第二种方法适合取所有数据

    yml和properties区别

    yml:    key:(空格)value

    properties: key = value

     

  • 相关阅读:
    利用jenkins+saltstack+sh 修改nginx配置文件并重新加载
    利用jenkins+saltstack+sh部署项目到多台服务器
    基于9款CSS3鼠标悬停相册预览特效
    基于jquery横向手风琴效果
    基于jQuery图片元素网格布局插件
    基于jQuery左侧大图右侧小图切换代码
    sql2005,sql2008,sql2012清空日志语句
    基于jQuery鼠标悬停上下滑动导航条
    基于jQuery鼠标点击弹出登陆框效果
    纯CSS3悬停图标旋转导航动画代码
  • 原文地址:https://www.cnblogs.com/wangzh1guo/p/9995248.html
Copyright © 2011-2022 走看看