Spring Boot 学习04-----Spring Boot 开发一个Web应用程序
作者
接着来学习Spring Boot,很焦虑,很彷徨,但是日子还是要过,生活还是要继续,我始终有一颗不服输的心。
Spring Boot 非常适合来开发Web应用。你可以通过Tomcat,Jetty,Undertow或者Netty来创建一个安全的HTTP服务器。大多数Web 应用服务通过引入spring-boot-starter-web
模块就可以运行得很快。当然,你也可以通过引入spring-boot-starter-webflux
来创建一个灵活的Web应用。
Spring Web MVC Framework
Spring Web MVC Framework 简称为 Spring MVC, 作为一种 “model view controller” Web框架,Spring MVC 让你可以创建特殊@Controller
或者@RestController
beans 来处理HTTP请求。控制器通过@RequestMapping
注解来映射HTTP请求。
以下就是使用@RestController
,服务器放回JSON数据
@RestController
@RequestMapping(value="/users")
public class MyRestController {
@RequestMapping(value="/{user}", method=RequestMethod.GET)
public User getUser(@PathVariable Long user) {
// ...
}
@RequestMapping(value="/{user}/customers", method=RequestMethod.GET)
List<Customer> getUserCustomers(@PathVariable Long user) {
// ...
}
@RequestMapping(value="/{user}", method=RequestMethod.DELETE)
public User deleteUser(@PathVariable Long user) {
// ...
}
}
Spring MVC 是Spring Framework的一部分。详细的信息可以参考reference documentation
Spring MVC 的自动配置
Spring Boot为Spring MVC提供了自动配置。适用于大多数的应用
这些自动配置在以下的属性中
1. 包括ContentNegotiatingViewResolver
以及BeanNameViewResolver
2. 支持静态资源
3. 自动注册Converter
,GenericConverter
以及Formatter
4. 支持HttpMessageConverters
5. 自动注册MessageCodesResolver
6. 支持静态的index.html
7. 支持定制化的Favicon
8. 自动的使用ConfigurableWebBindingInitializer
如果你想保持Spring Boot MVC的特性以及你想增加额外的MVC 配置(拦截器,格式化,视图控制器以及其他的属性),
你可以添加你自己的@Configuration
注解作为WebMvcConfigurer
,替换@EnableWebMvc
。如果你希望提供自定义的RequestMappingHandlerMapping
,RequestMappingHandlerAdapter
或者ExceptionHandlerExceptionResolver
,你可以申明一个WebMvcRegistrationsAdapter
实例。
HttpMessageConverters
Spring MVC 使用HttpMessageConverters
接口来转化HTTP 请求和响应。
例如:实体自动转化为JSON(通过Jackson library)
参考:
https://docs.spring.io/spring-boot/docs/2.0.0.RELEASE/reference/htmlsingle/#boot-features-spring-mvc-static-contentspan>码农飞哥
微信公众号:码农飞哥