小编Ale*_*ith的帖子

Intellij IDEA:找不到'JdbcTemplate'类型的bean

Intellij IDEA 15.0.3说JdbcTemplate bean不存在.

想法错误

这是一个Spring Boot项目,因此所有需要的bean应该在boot内部进行.它工作正常,我可以与我的数据库进行交互,但IDEA标记它像一个错误.我该如何解决?

spring-boot-starter-jdbc在pom.xml中; 小平面包含Spring; 项目模块具有所有需要的依赖项; Spring启动版本是1.3.1

java spring intellij-idea spring-boot

8
推荐指数
2
解决办法
3096
查看次数

杰克逊定制日期序列化器

我需要为类'日期序列化设置格式.我有杰克逊的版本,没有@JsonFormat.这就是为什么我写自定义类:

public class CDJsonDateSerializer extends JsonSerializer<Date>{

@Override
public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider provider) throws IOException {
    SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
    String dateString = dateFormat.format(date);
    jsonGenerator.writeString(dateString);
}
Run Code Online (Sandbox Code Playgroud)

}

并用它:

@JsonSerialize(using = CDJsonDateSerializer.class)
private Date startDate;
Run Code Online (Sandbox Code Playgroud)

但是,我有另一个具有不同日期格式的字段,我不想为序列化创建另一个类.我可以将所有需要的格式(如常量)添加到CDJsonDateSerializer类中,并使用注释设置所需的格式@JsonSerialize吗?像这样的东西:

@JsonSerialize(using = CDJsonDateSerializer.class, CDJsonDateSerializer.FIRST_FORMAT).

以下回答:

它经过一些修正后才有效.我改变了在createContextual方法中获取注释的方法:

@Override
public JsonSerializer createContextual(SerializationConfig serializationConfig, BeanProperty beanProperty) {
    return new CustomDateSerializer(beanProperty.getAnnotation(JsonDateFormat.class).value());
}
Run Code Online (Sandbox Code Playgroud)

我已经将@JacksonAnnotation添加到我创建的新注释JsonDateFormat中:

@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotation
public @interface JsonDateFormat {
   String value();
}
Run Code Online (Sandbox Code Playgroud)

java serialization json jackson

5
推荐指数
1
解决办法
2万
查看次数