0
点赞
收藏
分享

微信扫一扫

Spring Boot 学习04-----Spring Boot 开发一个Web应用程序

杏花疏影1 2022-06-14 阅读 159

接着来学习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-content​​


举报

相关推荐

0 条评论