更改字符串值的java注释
spring或java中是否有转换给定字符串的注释
例如,Spring有注释@Value(“一些字符串”)。如果我不想给参数/实例变量分配“某个字符串”,而是想给该字符串分配一个转换后的值呢。假设字符串是“foo”。每次看到这个注释时,我都希望返回的字符串是“bar:foo”,而不是foo。我所希望的就是能够在参数或实例变量上放置注释,并自动进行转换。甚至可能是一个注释,它接受一个类和一个字符串,从而使该类充当给定字符串的转换器
spring或java中是否有这样的注释?如果没有,实现这样一个东西的最佳方式是什么
谢谢 劳伦
# 1 楼答案
Spring的
@Value
注释有助于使用Spring表达式语言为属性指定常量以外的值。例如,从属性文件读取的值。如果它所做的只是分配一个常量,那么您也可以使用private String foo = "bar";
因此,您可以使用它从一些配置文件或系统属性中获取所需的值
如果您想对字段应用某种转换算法,我真的不明白使用注释的意义。只需调用一个Java方法:
这看起来很容易阅读、测试和维护
# 2 楼答案
您可以在
@Value
注释中使用Spring表达式语言以下是如何将其用于静态方法:
如果您之前有一个bean定义,那么您可以简单地使用
@Value("#{bean.method()}")
或@Value("#{bean.property}")