Java 如何使用properties中的Spring@值设置注释属性
我试图使用SpringJava 如何使用properties中的Spring@值设置注释属性,java,spring,Java,Spring,我试图使用Spring@Value在注释中设置一个属性,但我发现类型不匹配:无法从值转换为字符串。以下是我尝试过的: @Table(name = "myTable", catalog = @Value("${database.myCatalog}") ) 可能吗?如果是,怎么做?我想您对Spring如何使用该注释有点困惑 据我所知,唯一的办法就是设置注释 此外,为了让Spring解决这个问题,POJO必须是一个Spring管理的bean。这意味着必须在要解决的Spring(Web)Applic
@Value
在注释中设置一个属性,但我发现类型不匹配:无法从值转换为字符串。以下是我尝试过的:
@Table(name = "myTable", catalog = @Value("${database.myCatalog}") )
可能吗?如果是,怎么做?我想您对Spring如何使用该注释有点困惑
据我所知,唯一的办法就是设置注释
此外,为了让Spring解决这个问题,POJO必须是一个Spring管理的bean。这意味着必须在要解决的Spring(Web)ApplicationContext实现中定义它
您的问题似乎是在注释一个JPA实体,它不是Springbean,而是您正在使用的JPA实现(例如Hibernate)要使用的类。您是对的,当然实体不是Springbean。在那个注释中,除了文字值,我看到我可以使用另一个类的静态final字段。我可以在容器启动时从构造函数中设置该字段,但最终的要求不能放松。因此,如果我想在源代码之外配置该值,我找到的唯一解决方案就是声明两个持久性上下文。