我有一个有十几个属性的课程.对于原始类型的大多数属性,我希望使用默认的BeanSerializer和BeanDeserializer或其他任何东西来减少我需要编写的繁琐代码.对于自定义和数组类型的其他属性,我想做一些自定义序列化器/反序列化器.请注意,我无法更改基础JSON字符串.但我完全可以访问android代码.我使用Jackson 1.7.9/Ektorp 1.1.1.
我应该继承BeanDeserializer吗?我遇到了麻烦.它期望一个没有参数的默认构造函数,但我不知道如何调用超级构造函数.
class MyType{
// a dozen properties with primitive types String, Int, BigDecimal
public Stirng getName();
public void setName(String name);
// properties that require custom deserializer/serializer
public CustomType getCustom();
public void setCustom(CustomType ct);
}
class MyDeserializer extends BeanDeserialzer{
// an exception is throw if I don't have default constructor.
// But BeanDeserializer doesn't have a default constructor
// It has the below constructor that I don't know how to fill in the parameters
public MyDeserializer(AnnotatedClass forClass, JavaType …
Run Code Online (Sandbox Code Playgroud) 我试图用构造函数(来自Ektorp库)扩展以下类:
public class CouchDbRepositorySupport<T extends CouchDbDocument> implements GenericRepository<T> {
...
protected CouchDbRepositorySupport(Class<T> type, CouchDbConnector db) {
...
}
Run Code Online (Sandbox Code Playgroud)
这是我的实现:
public class OrderRepository extends CouchDbRepositorySupport<Order<MenuItem>> {
public OrderRepository(CouchDbConnector db) {
super(Order<MenuItem>.class, db);
Run Code Online (Sandbox Code Playgroud)
问题出在Order<MenuItem>.class
零件上.Java编译器告诉我:
Syntax error on token ">", void expected after this
Run Code Online (Sandbox Code Playgroud)
我试着用(Order<MenuItem>).class
,Order.class
并new Order<MenuItem>().getClass()
没有更好的运气.
我该怎么做才能检索泛型类的.class属性?
我正在开发一个应用程序作为事件服务总线,用于集成各种遗留组件......该应用程序利用数据存储来审核系统之间发送的所有事件和请求,以及存储有关总线订阅端点的元数据.. 。等等。我想使用 CouchDB 作为数据存储,因为它已经内置了我的应用程序的许多要求(REST API、复制、版本控制元数据文档等)。现在这是我的应用程序堆栈的样子:
[spring-integration filters/routers/service activators]
[service layer]
[dao layer]
[database]
Run Code Online (Sandbox Code Playgroud)
由于数据库是 CouchDB,我猜 DAO 层将是 Ektorp Java 库或简单的 REST 客户端。不过,这是我的问题:用 Ektorp 构建 DAO 层是不是有点多余?我的意思是,为什么不直接在服务层中使用 RestTemplate 来与 CouchDB 中的视图和设计文档对话并节省一些编码工作?
我错过了什么吗?
谢谢,
我想更新已经有附件的couchdb文档中的字段.如果我使用当前版本更新新字段,则会删除附件.有没有办法让我更新字段而不会丢失附件?我正在使用Ektorp API来更新文档.
关心Sunil.