有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何将XML配置转换为Java

我正在使用Les Hazlewood's implementation创建一个自定义rest异常处理程序。我的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类


共 (1) 个答案

  1. # 1 楼答案

    我不知道你有什么困难。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;
        }
    
    }
    

    随时调整和纠正错误