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

如何使字符串内注释取决于活动配置文件?

郎慎之
2023-03-14

我有一个需要映射到DynamoDBTable的实体。我们有两个表,一个用于开发环境,一个用于生产。如何根据当前活动配置文件更改注释中的字符串

在开发环境中,我希望实体从以下开始:

@DynamoDBTable(tableName = "my-dynamodbtable-dev")
public class MyEntity{

在prod环境中,我希望从以下内容开始:

@DynamoDBTable(tableName = "my-dynamodbtable-prod")
public class MyEntity{

共有1个答案

公羊向荣
2023-03-14

看起来您正在为同一服务器中的DEV和PROD创建单独的表。理想情况下,DEV和PROD应该使用单独的服务器。

按照以下步骤,在同一台服务器上使用不同的DEV和PROD表来实现您的需求:

创建环境配置,如下所示:

(DEV)
    spring:
      profiles: DEV
    myEntity:
      tableName: my-dynamodbtable-dev
      
(PROD)
    spring:
      profiles: PROD
    myEntity:
      tableName: my-dynamodbtable-prod

将表配置为在运行时使用表名:

@DynamoDBTable(tableName = "${myEntity.tableName}")
public class MyEntity{
...
}

提供默认名称以及如下所示,以避免在配置myEntity.table不可用的情况下出现状态问题。

@DynamoDBTable(tableName = "${myEntity.tableName:my-dynamodbtable-dev}")
public class MyEntity{
...
}
 类似资料:
  • 在过去,我使用Spring的XML配置连接bean,在这种情况下,我可以这样做(假设bean有属性的公共setter): 当使用基于注释的配置时,是否存在类似的情况?

  • 问题内容: 我已经声明了这样的注释: 因此,有效的注释将是 我不知道的是,如何设置多个作者,因为author()返回了String [],这应该是可能的。 不起作用! 问题答案: 像这样做: 和您的注释:

  • 问题内容: 不合理,无法通过注释而不是纯XML Bean来配置Spring Bean,现在我正面临后果。 我使用以下方式配置REST通道 现在,我只需要简单地将设置为仅将此具有非null值的字段输出到JSON。我尝试了以下方法: Bean被创建,但是转换器的另一个实例已创建并在通道中使用。所以我已经尝试过这种方法并在Stackoverflow问题中进行了描述,但是json序列化仍然使用其自己的配置

  • 最后,我尝试通过 但我以结束。所以现在我别无选择,所以我在这里征求任何想法。如何控制和配置框架使用的映射器?

  • 我有一个用maven作为构建工具的应用程序。 我正在使用maven概要文件从不同的概要文件设置不同的属性。 假设我运行带有out的maven,并指定我希望spring的任何其他概要文件,将和作为活动概要文件。

  • 问题内容: 在最近我从事的一些大型项目中,选择其中一种(XML或注释)似乎变得越来越重要。随着项目的发展,一致性对于可维护性非常重要。 我的问题是:与基于注释的配置相比,基于XML的配置有哪些优势?与基于XML的配置相比,基于注释的配置有哪些优势? 问题答案: 注释有其用途,但它们不是杀死XML配置的灵丹妙药。我建议将两者混合! 例如,如果使用Spring,则将XML用于应用程序的依赖注入部分是完