簡體   English   中英

如何將XML配置轉換為Java

[英]How to Convert XML Configuration to Java

我正在使用Les Hazlewood的實現創建一個自定義的休息異常處理程序。 我的spring boot應用程序使用java類作為配置而不是xml配置。 他使用xml配置,但我想將其轉換為java類配置。

 <bean id="restExceptionResolver" class="com.stormpath.spring.web.servlet.handler.RestExceptionHandler">
    <property name="order" value="100"/>
    <property name="messageConverters">
        <list>
            <ref bean="jacksonHttpMessageConverter"/>
        </list>
    </property>
    <property name="errorResolver">
        <bean class="com.stormpath.spring.web.servlet.handler.DefaultRestErrorResolver">
            <property name="localeResolver" ref="localeResolver"/>
            <property name="defaultMoreInfoUrl" value="mailto:support@mycompany.com"/>
            <property name="exceptionMappingDefinitions">
                <map>
                    <!-- 404 -->
                    <entry key="com.stormpath.blog.spring.mvc.rest.exhandler.UnknownResourceException" value="404, _exmsg"/>

                    <!-- 500 (catch all): -->
                    <entry key="Throwable" value="500"/>
                </map>
            </property>
        </bean>
    </property>
</bean>

如何將該xml轉換為Java類?

我不確定你的困難是什么。 XML配置的等效Java配置如下所示:

import java.util.Arrays;
import java.util.Map;

import com.stormpath.spring.web.servlet.handler.DefaultRestErrorResolver;
import com.stormpath.spring.web.servlet.handler.RestExceptionHandler;

@Configuration
public class Configuration {

    @Autowired
    Object jacksonHttpMessageConverter;

    @Autowired
    Object localeResolver;

    @Bean(name="restExceptionResolver")
    public RestExceptionHandler restExceptionHandler(){
        RestExceptionHandler handler = new RestExceptionHandler();
        handler.setOrder("100");
        handler.setMessageConverters(Arrays.asList(jacksonHttpMessageConverter));
        handler.setErrorResolver(resolver());
    }

    @Bean(name="resolver")
    public DefaultRestErrorResolver resolver() {
        DefaultRestErrorResolver resolver = new DefaultRestErrorResolver();
        resolver.setLocaleResolver(localeResolver);
        resolver.setDefaultMoreInfoUrl("mailto:support@mycompany.com");

        Map<String, Object> exceptionMappingDefinitions = new HashMap<>();
        exceptionMappingDefinitions.put("com.stormpath.blog.spring.mvc.rest.exhandler.UnknownResourceException", "404, _exmsg");
        exceptionMappingDefinitions.put("Throwable", "500");
        resolver.setExceptionMappingDefinitions(exceptionMappingDefinitions);
        return resolver;
    }

}

隨時適應和糾正錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM