将值放入 application.yaml 并使用 Runtime

我有 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: 15Mb


server:

      port: 8585

      contextPath: /


料青山看我应如是
浏览 166回答 1
1回答

白衣非少年

您可以使用@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 方法设置静态变量的值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java