eclipselink_EclipseLink MOXy作为JAXB提供者
生活随笔
收集整理的這篇文章主要介紹了
eclipselink_EclipseLink MOXy作为JAXB提供者
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
eclipselink
EclipseLink MOXy是JAXB提供程序,并且是內(nèi)置在JDK中的默認(rèn)JAXB提供程序的引人注目的替代品。首先是一個(gè)簡(jiǎn)單的測(cè)試,將Java對(duì)象編組為XML:
這是模型:
@XmlRootElement(name='MemberDetailsRequest', namespace='http://bk.org/memberservice/') @XmlAccessorType(XmlAccessType.FIELD) public class MemberDetailsRequest {public MemberDetailsRequest() {}public MemberDetailsRequest(Long id) {this.id = id;}private Long id;public Long getId() {return id;}public void setId(Long id) {this.id = id;} }和封送處理的測(cè)試:
package org.bk.memberservice.binding;import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.is;import java.io.StringWriter;import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller;import org.bk.memberservice.message.MemberDetailsRequest; import org.junit.Test;public class TestJaxbRequestBinding {@Testpublic void testJaxbBinding() throws Exception{JAXBContext jaxbContext = JAXBContext.newInstance(MemberDetailsRequest.class);assertThat((jaxbContext instanceof org.eclipse.persistence.jaxb.JAXBContext), is(true));Marshaller marshaller = jaxbContext.createMarshaller();MemberDetailsRequest memberDetailsRequest = new MemberDetailsRequest();memberDetailsRequest.setId(1L);StringWriter writer = new StringWriter();marshaller.marshal(memberDetailsRequest, writer);String marshalledXml = writer.toString();assertThat(marshalledXml, containsString('MemberDetailsRequest'));} }高亮顯示的行進(jìn)行檢查以確保MOXy的JAXBContext是創(chuàng)建的那個(gè)。
因此,要將MOXy用作JAXB提供程序, 第一步是獲取jar文件,
我很難找到要在Maven pom文件中使用的MOXy罐子,這對(duì)我有用:
<repository><id>EclipseLink Repo</id><url>http://download.eclipse.org/rt/eclipselink/maven.repo</url><name>EclipseLink Repo</name></repository><dependency><groupId>org.eclipse.persistence</groupId><artifactId>org.eclipse.persistence.moxy</artifactId><version>2.4.0</version></dependency>下一步是指示將MOXy設(shè)置為JAXB提供程序。 這是通過(guò)將jaxb.properties與任何JAXB模型類一起放置來(lái)完成的。 因此,在這種情況下,我將jaxb.properties放入包含MemberDetailsRequest類的包中,其內(nèi)容如下:
javax.xml.bind.context.factory = org.eclipse.persistence.jaxb.JAXBContextFactory就是這樣!
參考: all和其他博客中的EclipseLink MOXy作為我們的JCG合作伙伴 Biju Kunjummen 的JAXB提供者 。
翻譯自: https://www.javacodegeeks.com/2012/07/eclipselink-moxy-as-jaxb-provider.html
eclipselink
總結(jié)
以上是生活随笔為你收集整理的eclipselink_EclipseLink MOXy作为JAXB提供者的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何设置路由器带宽如何让路由器带宽多
- 下一篇: idea资源包下创建资源包_资源包技巧和