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;
}
注解的作用说明:
-
@Configuration:- 用于标识一个类为Spring的配置类。配置类是一个替代XML配置文件的Java类,通常用于定义Spring的bean和其他配置。
- 在配置类中,可以使用
@Bean注解方法来定义bean,这些bean会被Spring容器托管。
-
@PropertySource:- 用于指定一个或多个属性文件的位置,这些文件的属性可以被Spring应用程序上下文加载和使用。
value = "classpath:es.properties"表示从类路径下加载名为es.properties的属性文件。- 通过加载的属性文件,您可以在应用程序中访问和使用这些属性值。
-
@ConfigurationProperties:- 用于将属性文件中的属性绑定到Java类的字段上。
prefix = "config.es"表示在属性文件中,所有以config.es开头的属性都会被映射到相应的Java类的字段上。
原创:做时间的朋友

浙公网安备 33010602011771号