springboot(若依)多模块获取yml属性

简介: springboot(若依)多模块获取yml属性

使用若依框架时,需要在自己业务模块m2m中配置一些属性,读取时出现一些问题,记录一下,方便下次查找:


  • remote.yml 内容
geoserver:
  file_final_path: /srv/sentinel2/ndvi_final            # 栅格或矢量文件最终的存储位置
  file_path: /srv/sentinel2/ndvi                        # 栅格或矢量文件路径
  out_url: http://102.2.202.196:30510/geoserver         # geoserver的外网访问地址
  pwd: geoserver
  url: http://localhost:7006/geoserver
  user_name: admin


方法一 主模块admin下新建配置文件


  1. 在admin模块下新建application-remote.yml
  2. 在application.yml里引入remote


spring:
  profiles:
    active: dev,remote


  1. 在自己业务模块m2m里正常使用


@Value("${geoserver.user_name}")
public String username;


方法二 在自己业务模块m2m下新建配置文件


  1. 新建remote.yml


直接使用@Value("${geoserver.user_name}") 报错


  1. 需要在类上加入
@ConfigurationProperties(prefix = "geoserver")    // 前缀
@PropertySource(value = {"classpath:remote.yml"})   // 指定配置文件


方法一 不需要加@ConfigurationProperties和@PropertySource


  1. 使用


  • 注解获取


@Value("${user_name}")
public String username;


  • 手动获取


新建获取yaml属性工具类获取属性

public static String username;
static {
    username= xxxUtil.getYml("remote.yml", "geoserver.user_name");
}
/**
 * 获取Yml文件配置属性
 */
public static String getYml(String yml, Object key) {
    Resource resource = new ClassPathResource(yml);
    Properties properties;
    try {
        YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean();
        yamlFactory.setResources(resource);
        properties = yamlFactory.getObject();
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
    return (String) properties.get(key);
}


相关文章
|
1月前
|
Java 微服务
【SpringBoot】SpringBoot工程 自定义配置文件
【SpringBoot】SpringBoot工程 自定义配置文件
40 0
|
16天前
|
Java
SpringBoot基础配置文件
SpringBoot基础配置文件
|
1天前
|
Java
快速构建SpringBoot项目
快速构建SpringBoot项目
|
1月前
|
Java 应用服务中间件 Maven
SpringBoot概述&SpringBoot基础配置&yml的使用&多环境启动
SpringBoot概述&SpringBoot基础配置&yml的使用&多环境启动
39 2
|
7月前
|
Java
springboot(若依)多模块获取yml属性
springboot(若依)多模块获取yml属性
138 0
|
10月前
|
NoSQL Java 数据库连接
SpringBoot项目多层级多环境yml设计
需求场景 基础设施模块中有一些通用固定的基础配置。例如:日志的配置,Spring本身的配置以及MyBatis Plus相关的固定配置等等。 这些配置往往与环境无关,如何复用?
105 0
|
11月前
|
Java 测试技术 Maven
SpringBoot多环境配置文件打包
在使用springboot开发项目过程中,会有多种环境切换,例如开发环境,测试环境,演示环境,生产环境等,我们通过建立多个yml文件结合profiles.active属性进行环境指定,但是需要打包时就要手动更改配置文件逐个打包,容易造成不必要的误操作,本文就介绍如何进行不同环境配置文件的动态切换及一次性打包多个不同环境的部署包
161 0
|
Java
SpringBoot 的.yml配置文件通用模板
SpringBoot 的.yml配置文件通用模板
415 0
SpringBoot 的.yml配置文件通用模板
|
Java PHP
SpringBoot模板修改不生效
SpringBoot模板修改不生效
164 0
SpringBoot模板修改不生效
|
XML Java 应用服务中间件
1、SpringBoot2.0项目在IEDA中创建-超详细(一)
SpringBoot的功能 用来简化新Spring应用的初始搭建以及开发过程。
137 0
1、SpringBoot2.0项目在IEDA中创建-超详细(一)