为了账号安全,请及时绑定邮箱和手机立即绑定

将值放入 application.yaml 并使用 Runtime

将值放入 application.yaml 并使用 Runtime

料青山看我应如是 2021-08-19 17:43:54
我有 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 方法设置静态变量的值。


查看完整回答
反对 回复 2021-08-19
  • 1 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信