[英]How do I globally apply an XmlAdapter to a JAXB program?
我正在使用JAXB(通過一堆JaxWS和CXF),並試圖將BigDecimal類型編組為字符串(數字)和int(指數),因為現在有了前端,由於語言環境問題,它無法解釋BigDecimal。
我正在嘗試使用XmlAdapter將BigDecimal轉換為我自己的類型BigDecimalUnScaled。 只要我將@XmlJavaTypeAdapter批注直接放在字段上,此方法就可以正常工作。 但是,我真正想做的是將其放在我的Web Service實現中,並將其全局應用於所有BigDecimal,而不必分別編組每個返回對象。 有什么辦法可以做到嗎?
例如
Interface DummyWebService
-- Get Return Object (Return object is a POJO with say an ID and a BigDecimal value)
Implementation default
-- No type annotation, uses default BigDecimal marshaller
Marshalled Implementation
-- XmlTypeAdapters implementation, should globally use BigDecimal
我已經嘗試過僅將適配器放在實現中,但是它不起作用。
有任何想法嗎?
您可以在包級別注冊XmlAdapter
並將其應用於該包內該類型的所有字段/屬性:
com / example / package-info.java
@XmlJavaTypeAdapters({
@XmlJavaTypeAdapter(value=BigDecimalAdapter.class, type=BigDecimal.class)
})
package com.example;
import javax.xml.bind.annotation.adapters.*;
想要查詢更多的信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.