hax*_*ney 16 java spring spring-mvc
是否有可能具有相应的<mvc:default-servlet-handler/>
定义AnnotationConfig(Web)ApplicationContext
?现在我有:
@Configuration
@ImportResource("classpath:/mvc-resources.xml")
class AppConfig {
// Other configuration...
}
Run Code Online (Sandbox Code Playgroud)
在我的下面只有以下内容resources/mvc-resources.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<mvc:default-servlet-handler/>
</beans>
Run Code Online (Sandbox Code Playgroud)
它按预期工作.是否可以在不导入XML文件的情况下执行此操作?这将是一个减少一些样板的好方法.
Gum*_*bit 32
如果您将Spring 3.1与WebMvc一起使用,则可以配置默认的servlet处理,如下所示:
@Configuration
@EnableWebMvc
public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
Run Code Online (Sandbox Code Playgroud)
深入挖掘后,我发现这是一个已知问题,并在即将发布的Spring 3.1 中通过注释特性解决。
我用以下代码解决了我的问题:
@Configuration
@Import(FeatureConfig.class)
class AppConfig {
...
}
@FeatureConfiguration
class FeatureConfig {
@Feature
public MvcDefaultServletHandler defaultHandler() {
return new MvcDefaultServletHandler();
}
}
Run Code Online (Sandbox Code Playgroud)
不过,这确实需要使用 spring 的里程碑版本,但它似乎是处理此问题的最干净和首选的方式。
归档时间: |
|
查看次数: |
10251 次 |
最近记录: |