当前位置: 首页 > 知识库问答 >
问题:

如何读取Spring数据源URL的值,而不管它在哪里指定?

姚鹤龄
2023-03-14

在Spring Boot留档中,它指出命令行上提供的以--开头的值被转换为系统属性。

https://docs.spring.io/spring-boot/docs/1.5.19.RELEASE/reference/htmlsingle/#boot-features-external-config-command-line-args

默认情况下,SpringApplication会将任何命令行选项参数(以“---”开头,例如--server.port=9000)转换为属性,并将其添加到Spring环境中。

mvn spring-boot:run -Drun.arguments="-task report:weekly,--spring.datasource.url=jdbc:mysql://xx.xx.us-east-1.rds.amazonaws.com:3306/xx"

我发现那不是真的。我试图打印数据源值,三个都返回null

    System.out.println(System.getenv("SPRING_DATASOURCE_URL"));
    System.out.println(System.getProperty("SPRING_DATASOURCE_URL"));
    System.out.println(System.getProperty("spring.datasource.url"));
    System.exit(1);




无论数据源是在属性文件、命令行还是通过环境变量提供的,我如何获取数据源的值,尤其是主机的值?

共有1个答案

古棋
2023-03-14

有一个类org.springframework.core.env.环境,它是Spring对从不同来源接收到的所有属性的抽象,默认情况下包括systemPropertiessystem环境

为了获取属性,注入Environment调用Environment#getProperty

var property = environment.getProperty("spring.datasource.url");
 类似资料:
  • 我有一个调用post api的源,请求是url编码的。如何检索使用SpringBoot进行url编码的请求数据。 在我的控制器中,我有以下方法, 它返回错误 “错误”:“不支持的媒体类型”,“消息”:“内容类型”application/x-www-form-urlencoded;charset=UTF-8“不支持” 如何在控制器中获取表单URL编码数据

  • 我有发现服务:https://github.com/Naresh-Chaurasia/API-MicroServices-Kafka/tree/master/Microservices-CQRS-SAGA-Kafka/DiscoveryService 我有产品服务:https://github.com/Naresh-Chaurasia/API-MicroServices-Kafka/tree/ma

  • 我已经将数据源详细信息放在/resources/application.properties文件中:

  • 我有一些带有json的URL,需要读取数据。在本例中,json如下所示: 我想将获取的数据作为组件的属性返回。最好的方法是什么?我试着用axios做到这一点。我设法获取数据,但在render()方法中设置state之后,我收到了一个空对象。以下是代码: 我不知道为什么在render()方法中数据消失了。如果我把 在。然后部分,我获得状态为200的数据。 所以我现在问是否有其他方法可以做到这一点。我

  • 问题内容: 我读过几个月前,Oracle同意使JavaFX开源。我想参与开发过程,但是不知道从哪里获得开发资源。 我将不胜感激:) 最好的祝福, 大卫 问题答案: 看起来开发在这里: http://openjdk.java.net/projects/openjfx/

  • 我想读文件f(文件大小:85GB)的块到一个数据帧。建议使用以下代码。 但是,这段代码给了我TextFileReader,而不是DataFrame。而且,由于内存限制,我不想将这些块串联起来以将TextFileReader转换为dataframe。请指教。