我应该在DI中使用哪个注释@Resource(jsr250)或@Autowired(特定于Spring)?
我已经成功地在过去使用两种,@Resource(name="blah")
和@Autowired @Qualifier("blah")
我的直觉是坚持使用@Resource
标签,因为它已被jsr人批准.
有人对此有强烈的想法吗?
我正在使用Jackson
,Spring MVC
写出一些简单的对象JSON
.其中一个对象具有amount
类型的属性Double
.(我知道这Double
不应该用作金额.但是,这不是我的代码.)
在JSON
输出中,我想将数量限制为2位小数.目前它显示为:
"amount":459.99999999999994
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用Spring 3的@NumberFormat
注释,但是没有在这方面取得成功.看起来其他人也有问题:在这里将JSON绑定到JavaBean propertiesenter链接描述时,MappingJacksonHttpMessageConverter的ObjectMapper不使用ConversionService.
此外,我尝试使用@JsonSerialize
注释,使用自定义序列化程序.
在模型中:
@JsonSerialize(using = CustomDoubleSerializer.class)
public Double getAmount()
Run Code Online (Sandbox Code Playgroud)
和序列化器实现:
public class CustomDoubleSerializer extends JsonSerializer<Double> {
@Override
public void serialize(Double value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
if (null == value) {
//write the word 'null' if there's no value available
jgen.writeNull();
} else {
final String pattern = ".##";
//final String …
Run Code Online (Sandbox Code Playgroud) Spring ApplicationContext加载过程中是否有任何钩子?
我想在应用程序上下文加载之前运行一段代码(在实例化任何beans/properties/aspects/etc之前).
提前致谢
我成功安装(没有问题报告)intellij 10.5.
然而,当我运行想法时,应用程序停留在"加载模块"窗口...
有任何想法吗...?(原谅双关语...)