java - 如何在 Spring 中使用 @Configuration 属性前缀和点属性来映射属性文件?

标签 java spring configurationproperties

我有一组属性如下:

spring.kafka.producer.edwh.bootstrap-servers=localhost:9092
spring.kafka.producer.edwh.properties.enable.idempotence=true
spring.kafka.producer.edwh.retries=10
spring.kafka.producer.edwh.transaction-id-prefix=slv
spring.kafka.producer.edwh.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer
spring.kafka.producer.edwh.properties.spring.json.add.type.headers=false

...我想通过使用 @ConfigurationProperties(prefix = "spring.kafka. Producer.edwh") 来映射这样的类:

@ConfigurationProperties(prefix = "spring.kafka.producer.edwh")
public class EdwhKafkaProducerConfig {

    private String bootstrap_servers;
    private String properties_enable_idempotence;
    private int retries;
    private String transaction_id_prefix;
    private String value_serializer;
    private boolean properties_spring_json_add_type_headers;

}

...我该怎么办?

最佳答案

虚线属性表示单独的对象。所以如果你有

mail.additionalHeaders.redelivery=true
mail.additionalHeaders.secure=true
mail.credentials.username=john
mail.credentials.password=password

然后你的配置类可以如下所示:

@ConfigurationProperties(prefix = "mail")
public class ConfigProperties {
    private AdditionalHeaders additionalHeaders;
    private Credentials credentials;
    // getters setters

    public class AdditionalHeaders {
        private boolean redelivery;
        private boolean secure;
        // getters setters
    }

    public class Credentials {
        private String username;
        private String password;
        // getters setters
    }
}

看这里: https://www.baeldung.com/configuration-properties-in-spring-boot

关于java - 如何在 Spring 中使用 @Configuration 属性前缀和点属性来映射属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60667089/

相关文章:

java - 单击 ViewPager 中的特定页面后如何跳转到另一个 Activity ?

java - 使用 Redis 和 MySQL 实现 DAO

java - 如何在java spring中将propertysource设置为从云配置服务器获取的配置文件?

java - 如何使用特殊字符& |和 Split() 方法中的⊕?

java - 使用GridBagLayout将组件多次添加到父组件时出错

java - 创建方法过滤器

java - 为什么@ConfigurationProperties需要getter?

java - 在 Spring MVC 中创建应用程序范围的 bean

json - 带有 JSON 的 Spring MVC 多部分请求

java - 哪个 Spring Boot @ConfigurationProperties 注释 bean 拥有 spring.profiles.active 属性?