springboot项目中非application.properties配置文件如何加载

1. 已有配置文件es.properties

management.endpoint.health.show-details=always
server.tomcat.threads.max=1000


config.es.address=@es.delta.gateway@
config.es.userName=@es.delta.username@
config.es.password=@es.delta.password@

2.如何将配置文件的内容加载到springboot的环境中呢

定义配置类ElasticSearchProperty,核心是通过@Configuration注解,@PropertySource @ConfigurationProperties 这3个注解来加载配置文件

@Data
@Configuration
@PropertySource(value = "classpath:es.properties")
@ConfigurationProperties(prefix = "config.es")
public class ElasticSearchProperty {

    /**
     * 连接地址,格式:IP:端口
     * 多个逗号分隔
     * 示例:127.0.0.1:9201,127.0.0.1:9202,127.0.0.1:9203
     */
    private String address="";

    /**
     * 用户名
     */
    private String userName;

    /**
     * 密码
     */
    private String password;

    /**
     * 连接超时时间
     * 默认10s
     */
    private int connectTimeout = 10000;

    /**
     * socket超时时间
     * 默认10s
     */
    private int socketTimeout = 10000;

    /**
     * 请求连接超时时间
     * 默认10s
     */
    private int connectionRequestTimeout = 10000;
}

注解的作用说明:

  1. @Configuration

    • 用于标识一个类为Spring的配置类。配置类是一个替代XML配置文件的Java类,通常用于定义Spring的bean和其他配置。
    • 在配置类中,可以使用@Bean注解方法来定义bean,这些bean会被Spring容器托管。
  2. @PropertySource

    • 用于指定一个或多个属性文件的位置,这些文件的属性可以被Spring应用程序上下文加载和使用。
    • value = "classpath:es.properties"表示从类路径下加载名为es.properties的属性文件。
    • 通过加载的属性文件,您可以在应用程序中访问和使用这些属性值。
  3. @ConfigurationProperties

    • 用于将属性文件中的属性绑定到Java类的字段上。
    • prefix = "config.es"表示在属性文件中,所有以config.es开头的属性都会被映射到相应的Java类的字段上。
posted @ 2025-05-28 14:14  SpecialSpeculator  阅读(39)  评论(0)    收藏  举报