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);
}


相关文章
|
7月前
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
101 0
|
3月前
|
人工智能 安全 Java
Spring Boot yml 配置敏感信息加密
本文介绍了如何在 Spring Boot 项目中使用 Jasypt 实现配置文件加密,包含添加依赖、配置密钥、生成加密值、在配置中使用加密值及验证步骤,并提供了注意事项,确保敏感信息的安全管理。
809 1
|
7月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
244 0
|
7月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
在微服务架构中,随着业务复杂度增加,项目可能需要调用多个微服务。为避免使用`@Value`注解逐一引入配置的繁琐,可通过定义配置类(如`MicroServiceUrl`)并结合`@ConfigurationProperties`注解实现批量管理。此方法需在配置文件中设置微服务地址(如订单、用户、购物车服务),并通过`@Component`将配置类纳入Spring容器。最后,在Controller中通过`@Resource`注入配置类即可便捷使用,提升代码可维护性。
106 0
|
12月前
|
druid Java Maven
|
Java 关系型数据库 数据库连接
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第3天】Spring Boot项目中数据库连接问题可能源于配置错误或依赖缺失。YAML配置文件的格式不正确,如缩进错误,会导致解析失败;而数据库驱动不匹配、连接字符串或认证信息错误同样引发连接异常。解决方法包括检查并修正YAML格式,确认配置属性无误,以及添加正确的数据库驱动依赖。利用日志记录和异常信息分析可辅助问题排查。
1076 11
|
Java 关系型数据库 MySQL
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第4天】本文分析了Spring Boot应用在连接数据库时可能遇到的问题及其解决方案。主要从四个方面探讨:配置文件格式错误、依赖缺失或版本不兼容、数据库服务问题、配置属性未正确注入。针对这些问题,提供了详细的检查方法和调试技巧,如检查YAML格式、验证依赖版本、确认数据库服务状态及用户权限,并通过日志和断点调试定位问题。
1225 6
|
12月前
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
957 0
|
缓存 Java 数据库连接
Spring Boot 资源文件属性配置,紧跟技术热点,为你的应用注入灵动活力!
【8月更文挑战第29天】在Spring Boot开发中,资源文件属性配置至关重要,它让开发者能灵活定制应用行为而不改动代码,极大提升了可维护性和扩展性。Spring Boot支持多种配置文件类型,如`application.properties`和`application.yml`,分别位于项目的resources目录下。`.properties`文件采用键值对形式,而`yml`文件则具有更清晰的层次结构,适合复杂配置。此外,Spring Boot还支持占位符引用和其他外部来源的属性值,便于不同环境下覆盖默认配置。通过合理配置,应用能快速适应各种环境与需求变化。
150 0
|
Java 测试技术 Spring
Java SpringBoot 加载 yml 配置文件中字典项
Java SpringBoot 加载 yml 配置文件中字典项
157 0