问题标签 [application.properties]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
2053 浏览

spring-boot - Spring Cloud 复合 bootstrap.yml

有没有办法bootstrap.yml从多个yaml文件“构建”?

这是我的场景,我有一堆micro-services并且每个服务都具有相同的bootstrap.yml属性 expect spring.application.name

我想将我的bootstrap.yml文件分成两个文件,base-bootstrap.yml其中包含配置服务配置,如 URI、密码……等,然后bootstrap.yml可以包含spring.application.name或其他任何内容。

base-bootstrap.yml文件可以在某些依赖项 jar 中外部化,并且应该像默认值一样使用,bootstrap.yml应该覆盖任何值。这是一些示例:

base-boostrap.yml

引导程序.yml

谁能指导我怎么做?

0 投票
2 回答
12742 浏览

java - Spring Boot 无法从数据源确定 jdbc url

我正在使用 spring boot 构建一个应用程序,需要通过服务而不是 sid 连接到 Oracle DB。

这些是数据源设置:

我已经探讨了关于 tns 连接的其他两个响应: Connection to Oracle via TNS is not workingHow to connect JDBC to tns oracle

但我遇到了一个不同的错误:

org.springframework.jdbc.support.MetaDataAccessException:无法获取用于提取元数据的连接;嵌套异常是 org.springframework.jdbc.CannotGetJdbcConnectionException: 无法获取 JDBC 连接;嵌套异常是 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:339) ~[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] 处的 java.sql.SQLException。 springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:366) ~[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.boot.autoconfigure.orm.jpa.DatabaseLookup .getDatabase(DatabaseLookup.java:72) ~[spring-boot-autoconfigure-1.5.9.RELEASE.jar:1.5.9.RELEASE] at org.springframework.boot.autoconfigure.orm.jpa.JpaProperties.determineDatabase(JpaProperties.爪哇:java:360) [spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.9.RELEASE .jar:1.5.9.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE] 在 org.springframework。 boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE] at com.swift.cpms.CpmsWebApp.main(CpmsWebApp.java:18) [类/:na] 原因:org.springframework.jdbc.CannotGetJdbcConnectionException: 无法获得 JDBC 连接;嵌套异常是 org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80) ~[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] 的 java.sql.SQLException。弹簧框架。

如果我切换到调试模式,我会得到更多详细信息,并且紧随其后会发生异常:

2018-03-01 15:34:21.435 调试 44920 --- [主] osjdbc.datasource.DataSourceUtils:从数据源获取 JDBC 连接 2018-03-01 15:34:21.446 调试 44920 --- [
主] oatomcat.jdbc .pool.PooledConnection :使用类实例化驱动程序:oracle.jdbc.driver.OracleDriver [url=jdbc:oracle:thin:@//exa22-scan8.swift.corp:1500/cpmsdev_usr.swift.com] 2018-03-01 15:34:21.447 调试 44920 --- [main] oatomcat.jdbc.pool.ClassLoaderUtil:尝试从 sun.misc.Launcher$AppClassLoader@659e0bfd 加载类 [oracle.jdbc.driver.OracleDriver]

我使用相同的 URL、service_name 和凭据连接到 sqldeveloper 中的 DB,并且可以确认该部分是正确的。我还尝试了上述链接设置中建议的选项

并设置 url @service_name 具有相同的结果

我完全不知道它的原因是什么 - 语法不正确还是其他什么?有没有其他人有任何建议可能导致它以及可能的解决方案是什么?

pom.xml 依赖项

感谢任何建议或帮助!

0 投票
0 回答
460 浏览

mysql - 防止在 mysql DB 中创建 Spring 批处理元数据表

我正在使用 Spring Batch 3.0.7。可以防止在 DB 中创建元数据表。

在我的应用程序中,默认情况下,org/springframework/batch/core/schema-mysql.sql 文件代码是 Spring Batch 严格的。

我如何防止执行此文件,使其不会在生产数据库中创建元数据表。

如果不创建元数据表是不可能的,那么我怎么能指向不同的 2 个数据库,所以我将在本地数据库中创建元数据表,这样在生产数据库中任何元数据表都不会创建。

我们如何在 Application.properties 文件中为 2 个不同的 DB 进行配置。

  1. 一种用于创建元数据创建数据库。
  2. 另一个是生产数据库,我可以在其中获取记录。

    20:37:21.898 INFO 8280 --- [main] osjdbc.datasource.init.ScriptUtils:从类路径资源 [org/springframework/batch/core/schema-mysql.sql] 2018-03-06 20 执行 SQL 脚本: 37:25.987 INFO 8280 --- [main] osjdbc.datasource.init.ScriptUtils:在 4089 毫秒内从类路径资源 [org/springframework/batch/core/schema-mysql.sql] 执行 SQL 脚本。2018-03-06 20:37:26.138 INFO 8280 --- [main] osbabJobLauncherCommandLineRunner:运行默认命令行:[] 2018-03-06 20:37:26.138 INFO 8280 --- [main] osbcrsJobRepositoryFactoryBean:没有数据库类型集,使用元数据指示:MYSQL 2018-03-06 20:37:26.546 INFO 8280 --- [main] osbclsupport.SimpleJobLauncher:未设置 TaskExecutor,默认为同步执行程序。

0 投票
1 回答
4854 浏览

spring - Spring Boot Flyway 迁移占位符

有人可以显示在 Flyway 迁移中使用 application.properties 配置的正确格式吗?

我想在我的 application.properties 文件中使用数据源配置的用户名来授予对数据库表的权限(使用 Flyway 进行数据库迁移,用户名最终会因环境而异),但是我找不到语法示例.

示例 application.properties:

移民:

我尝试了各种迭代(flyway.placeholders.spring.datasource.username,尝试不指定前缀:spring.flyway.placeholder-prefix=)但没有运气。

0 投票
1 回答
1784 浏览

spring - 使用属性占位符表达式将属性文件中的 String[] 加载到 @CrossOrigin 的 origins 字段中

在我的 Spring Boot 应用程序中,我有以下控制器

该属性app.api.settings.cross-origin.urls已经是在application.properties文件中具有逗号分隔的有效 URL 的键,例如

app.api.settings.cross-origin.urls=http://localhost:3000, http://localhost:7070

这种方法一直有效,直到我只有一个值,比如

app.api.settings.cross-origin.urls=http://localhost:3000但不适用于逗号分隔值。里面的origins字段仍然@CrossOrigin是类型String[],它不会String[]自动转换为。我的意思是应该有一些方法来实现框架提供的这一点。不是解决方法。我可以使用逗号分隔的 url 从属性文件中使用@Value到 aList<String>String[]作为@Configuration类中的字段,如下所示

但这将是一个具有应用程序广泛适用性的全局配置。我想坚持更细粒度@CrossOrigin的基于注释的 CORS 配置。

所以我把我的问题清楚地放在下面。

是否可以将属性文件中的逗号分隔值作为String[]使用属性 plcaholer 表达式 ( ${*}) 注入具有相同类型的 spring 注释字段中,即String[]????? 如果是那么如何???如果没有,那么我们可以调整一些核心框架类来实现这个吗???任何人请帮助....

PS - 请不要将我的问题标记为在 Java 中使用 CrossOrigin 注释或 Spring-Config XML 中的重复使用 Spring 属性

我的问题更多是关于在 spring 注释字段中使用属性占位符表达式,这些字段具有多元素类型,String[]而不是关于 spring 应用程序中 CORS 的配置。

0 投票
1 回答
5498 浏览

spring - 如何从 application.properties 读取并在 Spring Batch 中设置为作业参数

我想从我的 application.properties 中读取 Spring Batch 应用程序的输入和输出路径,并将它们设置为 jobParametersBuilder,这样我就可以在整个作业执行过程中访问它们(将它们分配给读取器和写入器)。

我能够从其他配置类中的 application.properties 中读取,但我似乎无法在我的主类中实现它。我需要在此处执行此操作,以便能够在执行作业之前将值分配给作业参数。

我的主要课程:

我的application.properties文件:

我也尝试过为输入和输出做一个单独的配置类,但我不明白如何从我的主类中调用它:

入出配置:

我得到 inputPath = null 和 outputPath = null。

0 投票
2 回答
2545 浏览

java - 如何将heroku config var传递给spring boot的application.properties?

我正在尝试将自定义 heroku 配置变量传递给 application.properties 但没有传递任何值。

我的 application.properties 条目:

然后我将此值注入 String 变量:

但是当我尝试使用它时 SENDER_MAIL_USERNAME 是一个空字符串。

我可以像这样得到正确的值:

但这不是我要找的。任何人都知道我在这里做错了什么?

编辑:

也许值得补充的是,我的项目使用 maven 和 2 个模块(后端和前端)。简化的项目结构如下所示:

我还使用包含以下内容的 Procfile:

其中 $PATH_TO_JAR 是具有值的 heroku 配置变量:

0 投票
2 回答
2409 浏览

spring-boot - Spring Boot management.trace.include 配置示例

春季启动在这里。management.trace.include可以为 中的属性指定哪些可能的值,application.properties该属性的默认值是什么,以及所有这些记录在哪里(专业提示:不是!)?

0 投票
2 回答
236 浏览

java - Spring Boot application.properties 生命周期

我有一个大型 Spring Web 应用程序,可以追溯到几年前。我需要将其更新为 Spring Boot(企业要求)。我的进展顺利 - 它开始了(!),尽管注入的属性存在一些问题,这会导致应用程序失败。

具体来说,每个配置文件有三个巨大的配置文件,例如qa_config.properties, 。目前我只关心,我已将其重命名为 Spring Boot 的首选名称,和qa_ehcache.xmlqa_monitoring.propertiesqa_config.propertiesapplication-qa.propertiesapplication-qa_monitoring.properties

该应用程序有许多用@Named(来自 javax.ws.rs-api )注释的类,它们很早就加载了 - 太早了,我需要在构造函数中注入属性:

属性文件:

我的问题:我希望在加载类之前尽快将两者都放在上下文application-qa.propertiesapplication-qa_monitoring.properties@Named

为了实现这一点,我正在运行具有活动配置文件的应用程序qa,它成功地将该组属性添加到上下文中。

我将此行添加到application.properties文件中,以确保加载其他属性:

当我运行 Spring Boot 应用程序时,输出告诉我

调试Foo类时, 的值bar是正确的

但是, 的值为qux空。

我是否遗漏了有关加载属性文件的顺序的信息?我原以为输入的includeapplication.properties足以在很早的时候“压平”这两个文件,如果一个在上下文中,那么两个文件都应该可用吗?

相反,我可以做的只是将两个属性文件中的所有变量合二为一,application-qa.properties但如果可能的话,我希望将它们分开并尽可能接近原始结构。

0 投票
2 回答
3953 浏览

spring-boot - 如何在 application.properties 中加载自定义属性

在 spring boot 中,有一个属性文件 application.property,除了这个属性,我还创建了一个名为 myownprop.properties 的额外属性文件。

我怎样才能myownprop.properties加载application.property?意味着如何在 application.properties 中包含另一个命名属性?

任何更新 ?