相关疑难解决方法(0)

如何解析xml到java对象?

我有一个XML用于配置一些规则,它没有复杂的结构,但是这个配置在我的系统中的任何地方使用,所以我想将这个XML解析为java对象并设计为单例模式,这是我的好方法可以使用它直接解析XML到Java对象而无需编写太多代码?

我做了一些关于谷歌的研究,知道JAXB是一个选择,我的应用程序只是一些工具程序,它读取规则,然后按照做的东西,JAXB可以更广泛地用于Web服务,它适合我的项目?

如果是的话,最重要的问题是,我用xjc根据xsd文件生成java对象的源类,解组之后我会直接得到这些configurationType对象,是否有必要再次转换,(从JaxB类到我拥有的java pojo对象)配置),我看到大多数编码器做到了这一点,但为什么呢?因为它们是一些数据,只是从生成的对象到JAXB并复制到自己创建的POJO对象

java xml

28
推荐指数
3
解决办法
13万
查看次数

将基于Spring的Spring转换为基于Java的配置

我尽量不使用任何xml.

<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">

    <property name="messageConverters">
        <list>
            <bean class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
                <property name="marshaller" ref="jaxbMarshaller"/>
                <property name="unmarshaller" ref="jaxbMarshaller"/>
            </bean>
            <bean class="org.springframework.http.converter.FormHttpMessageConverter"/>
        </list>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

像这样:转换为@Bean

@Bean
public RestTemplate restTemplate() {
    RestTemplate restTemplate = new RestTemplate();
    List<HttpMessageConverter<?>> converters = new ArrayList<HttpMessageConverter<?>>();

    converters.add(marshallingMessageConverter());
    restTemplate.setMessageConverters(converters);

    return restTemplate;
}
Run Code Online (Sandbox Code Playgroud)

问题在这里.

<bean id="jaxbMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
    <property name="classesToBeBound">
        <list>
            <value>com.cloudlb.domain.User</value>
        </list>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

尝试将"com.cloudlb.domain.User"转换为Class []而不是工作.

@Bean
public MarshallingHttpMessageConverter marshallingMessageConverter() {
    Jaxb2Marshaller marshaller = new Jaxb2Marshaller();

    //
    List<Class<?>> listClass = new ArrayList<Class<?>>();
    listClass.add(User.class);

    marshaller.setClassesToBeBound((Class<?>[])listClass.toArray());
    // --------------------------------

    return new MarshallingHttpMessageConverter(marshaller, marshaller);
} …
Run Code Online (Sandbox Code Playgroud)

java xml configuration spring spring-annotations

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

标签 统计

java ×2

xml ×2

configuration ×1

spring ×1

spring-annotations ×1