Spring第四课,MVC终章,应用分层的好处,总结

简介: Spring第四课,MVC终章,应用分层的好处,总结

Spring MVC其实也就是Spring Web

软件的设计原则:高内聚,低耦合

高内聚:一个模块各个元素之间联系的紧密程度,如果各个元素(语句,程序段)之间的联系程度越高,即内聚性越高

低耦合:软件中各个层,模块之间的依赖关系越低越好,修改一处代码,其他模块的代码改动越少越好。

应用分层的好处:

1.降低层与层之间的依赖,结构更加明确,利于各层逻辑的复用

2.开发人员可以关注整个结构中的某一层,极大的降低了维护成本和维护时间

3.可以很容易的用新的实现来替换原有层次的实现

4.有利于标准化

企业规范

建议(基本强制):

1.命名规范:

大驼峰:BookDao                       类名使用

小驼峰:bookDao                       变量名

蛇形:book_dao                          数据库,字段命名

串形:book-dao                          css

总结

1.注解部分

@RequestMapping:路由映射

@RequestParam:后端参数重命名

@RequestBody:接收JSON类型的参数(请求)

@PathVariable:接收路径参数

@RequestPart:上传文件

@ResponseBody:返回数据(响应)

@CookieValue:从Cookie中获取值

@SessionAttribute:从Session中获取值

@RequestHeader:从Header中获取值

@Controller:定义一个控制器,Spring框架启动的时候加载,把这个对象交给Spring管理,默认返回视图

@RestController:@ResponseBody+@Controller 返回数据

2.Cookie和Session

两个都是会话机制,Cookie是客户端机制,Session是服务器端机制,二者通过SessionId来关联,Spring MVC内置HttpServletResponse两个对象,需要使用时,直接在方法中添加对应参数即可,Cookie和Session可以从HttpServletRequest中获取,也可以直接使用HttpServletResponse设置HTTP响应的状态码

3.Lombok等工具(略)

目录
打赏
0
1
1
0
27
分享
相关文章
微服务——SpringBoot使用归纳——Spring Boot中的MVC支持——@RequestParam
本文介绍了 `@RequestParam` 注解的使用方法及其与 `@PathVariable` 的区别。`@RequestParam` 用于从请求中获取参数值(如 GET 请求的 URL 参数或 POST 请求的表单数据),而 `@PathVariable` 用于从 URL 模板中提取参数。文章通过示例代码详细说明了 `@RequestParam` 的常用属性,如 `required` 和 `defaultValue`,并展示了如何用实体类封装大量表单参数以简化处理流程。最后,结合 Postman 测试工具验证了接口的功能。
34 0
微服务——SpringBoot使用归纳——Spring Boot中的MVC支持——@RequestParam
Java也能快速搭建AI应用?一文带你玩转Spring AI可落地性
Java语言凭借其成熟的生态与解决方案,特别是通过 Spring AI 框架,正迅速成为 AI 应用开发的新选择。本文将探讨如何利用 Spring AI Alibaba 构建在线聊天 AI 应用,并实现对其性能的全面可观测性。
微服务——SpringBoot使用归纳——Spring Boot中的MVC支持——@RequestBody
`@RequestBody` 是 Spring 框架中的注解,用于将 HTTP 请求体中的 JSON 数据自动映射为 Java 对象。例如,前端通过 POST 请求发送包含 `username` 和 `password` 的 JSON 数据,后端可通过带有 `@RequestBody` 注解的方法参数接收并处理。此注解适用于传递复杂对象的场景,简化了数据解析过程。与表单提交不同,它主要用于接收 JSON 格式的实体数据。
39 0
微服务——SpringBoot使用归纳——Spring Boot中的MVC支持——@PathVariable
`@PathVariable` 是 Spring Boot 中用于从 URL 中提取参数的注解,支持 RESTful 风格接口开发。例如,通过 `@GetMapping("/user/{id}")` 可以将 URL 中的 `{id}` 参数自动映射到方法参数中。若参数名不一致,可通过 `@PathVariable("自定义名")` 指定绑定关系。此外,还支持多参数占位符,如 `/user/{id}/{name}`,分别映射到方法中的多个参数。运行项目后,访问指定 URL 即可验证参数是否正确接收。
30 0
微服务——SpringBoot使用归纳——Spring Boot中的MVC支持——@RequestMapping
@RequestMapping 是 Spring MVC 中用于请求地址映射的注解,可作用于类或方法上。类级别定义控制器父路径,方法级别进一步指定处理逻辑。常用属性包括 value(请求地址)、method(请求类型,如 GET/POST 等,默认 GET)和 produces(返回内容类型)。例如:`@RequestMapping(value = "/test", produces = "application/json; charset=UTF-8")`。此外,针对不同请求方式还有简化注解,如 @GetMapping、@PostMapping 等。
34 0
微服务——SpringBoot使用归纳——Spring Boot中的MVC支持——@RestController
本文主要介绍 Spring Boot 中 MVC 开发常用的几个注解及其使用方式,包括 `@RestController`、`@RequestMapping`、`@PathVariable`、`@RequestParam` 和 `@RequestBody`。其中重点讲解了 `@RestController` 注解的构成与特点:它是 `@Controller` 和 `@ResponseBody` 的结合体,适用于返回 JSON 数据的场景。文章还指出,在需要模板渲染(如 Thymeleaf)而非前后端分离的情况下,应使用 `@Controller` 而非 `@RestController`
28 0
SpringBoot入门 - 对Hello world进行MVC分层
SpringBoot入门 - 对Hello world进行MVC分层
90 3
SpringBoot入门 - 对Hello world进行MVC分层
Spring AI Alibaba 应用框架挑战赛圆满落幕,恭喜获奖选手
第二届开放原子大赛 Spring AI Alibaba 应用框架挑战赛决赛于 2 月 23 日在北京圆满落幕。
|
28天前
|
Spring AI与DeepSeek实战一:快速打造智能对话应用
在 AI 技术蓬勃发展的今天,国产大模型DeepSeek凭借其低成本高性能的特点,成为企业智能化转型的热门选择。而Spring AI作为 Java 生态的 AI 集成框架,通过统一API、简化配置等特性,让开发者无需深入底层即可快速调用各类 AI 服务。本文将手把手教你通过spring-ai集成DeepSeek接口实现普通对话与流式对话功能,助力你的Java应用轻松接入 AI 能力!虽然通过Spring AI能够快速完成DeepSeek大模型与。
379 11
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性