java - 自动转换Java源中的属性文件

标签 java spring eclipse properties eclipse-neon

我有一个配置文件config.properties,用于存储应用程序所需的所有配置。我还使用了 spring 加载的 Java 类 ApplicationConfig,它本质上将每个属性映射到 Java getter。

config.properties

main.path=C:\\

ApplicationConfig.java

public class ApplicationConfig {
    private static transient Properties config;

    public ApplicationConfig(Properties config) {
        ApplicationConfig.config = config;
    }

    public static String getMainPath() {
        return config.getProperty("main.path");
    }
}

每次我更改属性文件时,我都必须重新编写我的 Java 类。由于这是一个可以通过编程轻松完成的简单转换,有没有一种方法可以指示 Eclipse 每次保存属性文件(或构建时)时,java 文件都会自动重新处理?

最佳答案

可能 Eclipse 有某种代码生成支持,可以让您做到这一点,但我建议:不要不要让自己依赖于 IDE!

当您决定切换到另一个 IDE 时会发生什么?那么你在这里投入的所有时间都将付诸东流!

除此之外:您正在谈论产品的核心元素。难道这个核心不应该自动构建吗?通过某些构建工具

因此:我宁愿研究命令行工具来做到这一点。

最坏的情况:用你最喜欢的语言编写脚本;甚至在 Java 中也可以这样工作:

  • 它会读取属性文件的一些模板描述,其中包含以下条目:property-name: main.pathproperty-type: Stringproperty-getter: getMainPathproperty-default: C:\\bla
  • 现在工具生成了所需的源代码,加上属性文件本身。

简而言之:您应该平衡“易于实现”与“易于长期维护”。如果您对您的产品“认真”,您迟早会发现(更确切地说:更快)任何需要手动干预的构建步骤(例如:启动 IDE 来按下按钮)都会减慢您的速度;并极大地影响您自动化部署过程的能力。 2017 年,任何人都不应该轻松地追求这一点。

当然:为实现此要求而编写的自己的专有代码越少越好。但随后寻找“命令行”解决方案;不需要 IDE 启动并运行才能进行处理!

关于java - 自动转换Java源中的属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43913329/

相关文章:

java - Spark Streaming gc 设置问题

java - 使用 spannableString 在 android 中更改 TextView 文本的颜色

java - 读取 yaml 文件时发生 UnrecognizedPropertyException

java - opendolphin:客户端上的文本字段未更新

java - 将信息从一个 Fragment 发送到另一个 Android

java - Maven/Spring : AopNamespaceUtils NoSuchMethod Error

java - 查找错误的CacheManager Spring ehcache

spring - 是否可以在类之间缓存 Spring 的应用程序上下文?

java - Eclipse删除了我的java和class文件?

android - Robotium - Eclipse 中的 API 错误