gpt4 book ai didi

java - 如何将 XML 配置转换为 Java

转载 作者:太空宇宙 更新时间:2023-11-04 10:43:22 24 4
gpt4 key购买 nike

我正在使用 Les Hazlewood's implementation 创建自定义休息异常处理程序。我的 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;
}

}

请随意调整和纠正错误。

关于java - 如何将 XML 配置转换为 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48694497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com