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

如何根据现场可用性注入application,属性值?

冯茂实
2023-03-14

我正在开发一个spring boot应用程序。在这个应用程序中,我使用以下代码将application.properties创建为spring bean

http.port =8080
@PropertySource("config/application.properties")
@Component
public class ApplicationPropertyHandler
{
    @Value("${http.port}")
    private String nonSecurePort;

    @Value("${https.port}" required=false)
    private String securePort;

    @Value("${server.servlet.context-path}")
    private String contextPath;

    @Value("${security.key}")
    private String securityKey;


}
http.port =8080
https.port=8081
@PropertySource("config/application.properties")
@Component
public class ApplicationPropertyHandler
{
    @Value("${http.port}")
    private String nonSecurePort;

    @Value("${https.port}" required=false)
    private String securePort;

    @Value("${server.servlet.context-path}")
    private String contextPath;

    @Value("${security.key}")
    private String securityKey;

是否可以在Application.Properties中不使用Https.port字段来运行场景1?

共有1个答案

杨凯旋
2023-03-14

您可以使用null default@value,如前所述:

@Value("${https.port:#{null}}")
private String securePort;

如果securePort不存在,则注入null securePort。

 类似资料:
  • 在我们项目的一个公共库中,我需要根据使用它的服务来区分一个接口的两个实现。 我通过构造函数注入来注入这个接口,并且需要找出如何根据我们的application.yml中的属性值来确定使用什么实现。 我查看了@Qualifier注释,但它似乎确实需要xml模式中的一个属性。我们没有这样的东西。 在我们代码的一部分中,我们以这种方式读出KafkaListener的属性 我可以在Spring中使用相同的

  • Spring Boot提供了一种优雅的方法,可以使用将带有特定键前缀的属性注入Configuration类。这是显示在这里和这里。问题是,如何将前缀属性注入到实例中,如下所示?

  • 返回一个Application 对象,表示对象的容器应用程序(可以使用 Automation 对象的该属性返回对象的容器应用程序)。 expression.Application expression 必需。该表达式返回“应用于”列表中的对象之一。 示例 本示例返回创建名为 Standard 的命令栏的应用程序名称,并在消息框中显示该结果。 Set Appobj = CommandBars("St

  • 我有一节课: 值是唯一的,如何通过其值获取属性的名称? 通过反射,例如:

  • 我有一个存储库接口,它有两个实现。一个从本地存储的CSV文件读取数据,另一个从亚马逊迪纳摩数据库读取数据。我希望能够根据应用程序属性或自定义构建配置文件在我使用的实现之间切换。我通常会在运行时使用工厂来检索正确的类,但是如果可能的话,我希望通过注入来实现这一点。 我在使用Spring boot时发现了一个类似的问题,但在运行时找不到在Quarkus Spring choose bean实现中适用的

  • 问题内容: 我的Jenkins 2.19.4使用管道:声明式代理程序API 1.0.1。如果您无法定义变量来分配读取的属性,那么如何使用readProperties? 例如,要捕获SVN版本号,我目前以脚本样式使用以下代码捕获它: 然后我可以使用: 由于以声明式定义svnProp是不合法的,因此如何使用readProperties? 问题答案: 您可以使用标记内的步骤来运行任意管道代码。 所以符合