从XML到Java的Spring配置不起作用
我似乎无法让简单的Spring应用程序使用JavaConfig从XML到Java的Spring配置不起作用,java,spring,spring-java-config,Java,Spring,Spring Java Config,我似乎无法让简单的Spring应用程序使用JavaConfig public class WebApp extends AbstractAnnotationConfigDispatcherServletInitializer { private static final Logger logger = Logger.getLogger(WebApp.class); @Override protected Class<?>[] getRootConfigCl
public class WebApp extends AbstractAnnotationConfigDispatcherServletInitializer {
private static final Logger logger = Logger.getLogger(WebApp.class);
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[0];
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[]{ WebAppConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[]{ "/" };
}
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
logger.debug("onStartup");
super.onStartup(servletContext);//MUST HAVE
servletContext.setInitParameter("defaultHtmlEscape", "true");
}
@Configuration
@EnableWebMvc
@ComponentScan("com.doge.controller")
public static class WebAppConfig extends WebMvcConfigurerAdapter {
}
}
我总是在“localhost:8080/Build”和“localhost:8080”上得到404。
没有记录或打印任何内容,只有“信息:服务器在538毫秒内启动”。初始化SpringWeb应用程序的选项很少。最简单的方法如下:
public class SpringAnnotationWebInitializer extends AbstractContextLoaderInitializer {
@Override
protected WebApplicationContext createRootApplicationContext() {
AnnotationConfigWebApplicationContext applicationContext =
new AnnotationConfigWebApplicationContext();
applicationContext.register(WebAppConfig.class);
return applicationContext;
}
}
可在此处找到其他选项:
public class SpringAnnotationWebInitializer extends AbstractContextLoaderInitializer {
@Override
protected WebApplicationContext createRootApplicationContext() {
AnnotationConfigWebApplicationContext applicationContext =
new AnnotationConfigWebApplicationContext();
applicationContext.register(WebAppConfig.class);
return applicationContext;
}
}