偷个懒先占个位贴代码,详细讲解以后再补充
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[]{RootConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[]{WebConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
@EnableWebMvc
@Configuration
@ComponentScan(basePackages = {"controller","service"})
public class WebConfig extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver=new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
@Bean
public ViewResolver cnViewResolver(ContentNegotiationManager cnn){
ContentNegotiatingViewResolver resolver=new ContentNegotiatingViewResolver();
resolver.setContentNegotiationManager(cnn);
return resolver;
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.defaultContentType(MediaType.TEXT_HTML);
}
}
Controller:
@Controller
@RequestMapping(value = "/hello")
public class HomeController {
@Autowired
private CourseService courseService;
//添加@ResponseBody作为返回值
@RequestMapping(value = "/{courseId}",method = RequestMethod.GET)
public @ResponseBody Course getCourseJson(@PathVariable int courseId){
return courseService.getCourseById(courseId);
}
}
结果:
Spring MVC 初始化配置详解
本文介绍了使用 Spring MVC 进行 Web 应用初始化的过程,包括配置 WebAppInitializer 的根配置和 Servlet 配置,实现视图解析器设置,并展示了如何通过控制器处理 RESTful 请求。
227

被折叠的 条评论
为什么被折叠?



