我有 Spring 启动应用程序。我想将一些值作为读取超时、调试模式放在 yaml 文件中,然后从 java 代码中读取它们。应用程序.yaml :spring: jpa: database-platform: org.hibernate.dialect.PostgreSQLDialect hibernate: ddl-auto: update show-sql: false datasource: url: jdbc:postgresql://localhost:5432/database_name username: database_username password: database_password http: multipart: maxFileSize: 15Mb maxRequestSize: 15Mbserver: port: 8585 contextPath: /
1 回答
白衣非少年
TA贡献1155条经验 获得超0个赞
您可以使用@Valuespring 框架提供的注释来做到这一点。
这是示例:
api:
values:
socket-timout: 20
在您的 java 代码中,您可以获得socket-timout使用以下代码的价值。
@Value("${api.values.socket-timeout}")
private Integer socketTimeout;
它将自动填充 value 20。您不能对静态变量执行此操作。要为静态变量实现这一点,您可以使用以下代码。
public static Integer mySocketTimeout;
@Value("${api.values.socket-timeout}")
public void setSocketTimeout(Integer socketTime){
mySocketTimeout = socketTime;
}
通过非静态 setter 方法设置静态变量的值。
添加回答
举报
0/150
提交
取消