Java 在micronaut 2.1.2中获取POJO属性名称
正在尝试在Micronaut应用程序中获取POJO属性名称。我有下面的POJO课程Java 在micronaut 2.1.2中获取POJO属性名称,java,introspection,micronaut,micronaut-rest,Java,Introspection,Micronaut,Micronaut Rest,正在尝试在Micronaut应用程序中获取POJO属性名称。我有下面的POJO课程 @Introspected public class Product { @BsonProperty("_id") @BsonId private ObjectId id; private String name; private float price; private String description; // Getter an
@Introspected
public class Product {
@BsonProperty("_id")
@BsonId
private ObjectId id;
private String name;
private float price;
private String description;
// Getter and setter
}
我知道我们可以使用Introspected
下面的代码给出了数组形式中的所有属性
final BeanIntrospection<Product> introspection = BeanIntrospection.getIntrospection(Product.class);
var product = introspection.getPropertyNames();
我需要获得如下的单个属性,而不是产品上的foreach
除了通过数组,还有什么方法可以直接访问它,类似于下面的Lombok
var desc = Product.Fields.description
var name = Product.Fields.name
var price = Product.Fields.price
有没有办法做到这一点
除了通过阵列,还有什么方法可以访问它吗
与Lombok直接类似,如下所示:
没有。没有这样的API支持那样的语法。在解释如何使用BeanProspection API时,我没有从文档中获得任何有关单个属性的参考。我可以看到检索所有属性的内省的方法。getPropertyNames()'标题当前是“获取micronaut中的POJO属性名称”
-您真的在尝试获取属性名称,还是想要属性值?我正在尝试获取属性名称,与此Product.Fields.name类似,您还不清楚需要做什么。是否只需要类中声明的所有字段的列表?类中声明的所有属性(与字段不同)?还有别的吗?仅供参考。。。在我删除的答案后的一条评论中,OP说“我试图获取财产的名称,而不是价值”。谢谢你,你有任何关于这个问题的例子吗,我仍然无法解决我所缺少的问题
var desc = Product.Fields.description
var name = Product.Fields.name
var price = Product.Fields.price
var desc = Product.Fields.description
var name = Product.Fields.name
var price = Product.Fields.price