我是ajax和json的新手。最近我试图在Spring mvc中使用ajax和json实现。我使用像
这样的注释来看到教程jdbc:jtds:sqlserver://instanciados/TestDB;instance=BENDER2
以下是视图定义
@JsonView(Views.Public.class)
Q1。在@JsonView中使用Views.Public.class的重要性是什么,因为Public类没有定义?
Q2。为什么@jsonview是以这种方式设计的?
Q3。视图类没有正常的定义,也没有内部类(公共和内部)。你怎么称呼这类课程,通常什么时候使用?我听说过序列化中的标记界面,但我没有听说过标记类。
我问这些问题,因为我从未在java中学过这样的编码方法。这是一种设计模式吗?
答案 0 :(得分:0)
@Angom原因是各种各样的事情。首先,Java注释值只能有一组非常有限的类型;简单原语(int
,boolean
,long
),String
s,枚举值,Annotation
类型或Class
es。
因此,当与注释一起使用时,逻辑视图的值类型的选择是有限的。许多开发人员会选择Strings,但Classes实际上有一个很好的好处:可组合性。由于您可以扩展类和接口,因此可以派生“子视图”;并且检查入选标准(杰克逊)是非常快的。
现在:如果你只需要查看ID,那么空接口或类就可以了:你真的只需要id和可能的继承层次结构。无需添加方法或值。
但是,也可以使用常规完整类,或者在这些类中添加方法。查看功能不使用这些;它不关心。因此,如果您愿意,可以使用现有的类/接口作为View ids。
但是由于拥有空类的成本不高,因此将实际代码和视图类分开通常会更简洁。