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

简介: 接着来学习Spring Boot,很焦虑,很彷徨,但是日子还是要过,生活还是要继续,我始终有一颗不服输的心。

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


相关文章
|
10月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
693 4
|
XML 人工智能 Java
优化SpringBoot程序启动速度
本文介绍了三种优化SpringBoot启动速度的方法:1) 延迟初始化Bean,通过设置`spring.main.lazy-initialization`为true,将耗时操作延后执行;2) 创建扫描索引,利用`spring-context-indexer`生成@ComponentScan的索引文件,加速类扫描过程;3) 升级至最新版SpringBoot,享受官方性能优化成果。这些方法能显著提升程序编译与启动效率。
2235 0
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。
|
前端开发 JavaScript Shell
鸿蒙5开发宝藏案例分享---Web页面内点击响应时延分析
本文为鸿蒙开发者整理了Web性能优化的实战案例解析,结合官方文档深度扩展。内容涵盖点击响应时延核心指标(≤100ms)、性能分析工具链(如DevTools时间线、ArkUI Trace抓取)以及高频优化场景,包括递归函数优化、网络请求阻塞解决方案和setTimeout滥用问题等。同时提供进阶技巧,如首帧加速、透明动画陷阱规避及Web组件初始化加速,并通过优化前后Trace对比展示成果。最后总结了快速定位问题的方法与开发建议,助力开发者提升Web应用性能。
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
1651 10
|
Java 开发者 微服务
深入解析@SpringBootApplication注解:简化Spring Boot应用的配置
在现代的Java开发中,Spring Boot框架成为了构建微服务和快速开发应用的首选。Spring Boot的成功部分归功于其简化的配置和约定大于配置的理念。而`@SpringBootApplication`注解则是Spring Boot应用的入口,负责自动配置和启动Spring Boot应用。本文将深入探讨`@SpringBootApplication`注解的作用、用法,以及在Spring Boot应用中的应用场景。
2126 1
|
运维 Java Nacos
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
|
Java 应用服务中间件 Maven
ContextLoaderListener在Spring应用中的作用与配置方法
ContextLoaderListener在Spring应用中的作用与配置方法
|
安全 Java Maven
Spring Boot常见企业开发场景应用、自动配置原理结构分析(三)
Spring Boot常见企业开发场景应用、自动配置原理结构分析
223 0