【问题标题】:How to access property value in an annotation? [duplicate]如何访问注释中的属性值? [复制]
【发布时间】:2018-11-04 08:06:21
【问题描述】:

我有一个模型类,它对应于一个 mongo 文档:

@Document(collection="GRADE_KN")
public class Grade {

    @Id
    private String id;

    private String name;
...

}

如您所见,我将文档名称硬编码为“GRADE_KN”。我想把它移到属性文件中。

例如:

application.properties中:

mongo.collection.name=GRADE_KN

一般我们使用@Value注解来访问属性。但在这种情况下似乎不起作用。

但是如何使用@Document 注解访问属性。

请澄清。

【问题讨论】:

    标签: java spring-data-mongodb spring-data-rest


    【解决方案1】:

    我遇到了同样的问题,显然无法完成。 @Document 和其他注解几乎是在解析属性时完成的。

    所以,我们能做的是, 拥有一个超类,具有其他模型所需的所有公共属性。

    然后对于所有子类模型,根据需要分配@Document 和特定集合名称。

    底线,集合名称不能动态分配。

    希望这会有所帮助。干杯!!!

    【讨论】:

    • 谢谢。这有帮助。通过使用 SpEL 让它工作。具有动态集合名称的原因是在不同的上下文中具有相同的模块逻辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多