《极客时间教程 - 玩转 Spring 全家桶》笔记
第一章:初识 Spring (4 讲)
01 | Spring 课程介绍
02 | 一起认识 Spring 家族的主要成员
Spring Framework - 用于构建企业级应用的轻量级一站式解决方案
Spring Boot - 快速构建基于 Spring 的应用程序
Spring Cloud - 简化分布式系统的开发
03 | 跟着 Spring 了解技术趋势
略
Spring Framework - 用于构建企业级应用的轻量级一站式解决方案
Spring Boot - 快速构建基于 Spring 的应用程序
Spring Cloud - 简化分布式系统的开发
略
Spring MVC 中视图技术的使用是可插拔的。无论决定使用 Thymeleaf、Groovy 等模板引擎、JSP 还是其他技术,都可以通过配置来更改。
Spring MVC 的视图位于该应用程序的内部信任边界内。 视图可以访问应用程序上下文的所有 bean。 因此,不建议在模板可由外部源编辑的应用程序中使用 Spring MVC 的模板支持,因为这可能会产生安全隐患。
Thymeleaf 是一个现代服务器端 Java 模板引擎,它强调自然的 HTML 模板,可以通过双击在浏览器中预览,而无需运行服务器,这对于 UI 模板的独立工作(例如,由设计师)非常有帮助。
Spring MVC 支持跨域处理(CORS)。
出于安全原因,浏览器禁止对当前源之外的资源进行 AJAX 调用。例如,可以在一个选项卡中使用您的银行帐户,而在另一个选项卡中使用 evil.com。来自 evil.com 的脚本不应该能够使用您的凭据向您的银行 API 发出 AJAX 请求——例如从您的账户中取款!
Spring MVC 提供了一种基于注解的编程模型,@Controller
和 @RestController
组件使用注解来表达请求映射、请求输入、异常处理等。注解控制器具有灵活的方法签名,并且不必扩展基类或实现特定接口。以下示例显示了一个由注解定义的控制器:
@Controller
public class HelloController {
@GetMapping("/hello")
public String handle(Model model) {
model.addAttribute("message", "Hello World!");
return "index";
}
}
DispatcherServlet
是 Spring MVC 框架的核心组件,负责将客户端请求映射到相应的控制器,然后调用控制器处理请求并返回响应结果。
DispatcherServlet
的工作流程大致如下图所示:
Spring Data Repository 抽象的目标是显著减少各种访问持久化存储的样板式代码。
Repository 是 Spring Data 的核心接口。此接口主要用作标记接口,以捕获要使用的类型并帮助您发现扩展此接口的接口。CrudRepository
和 ListCrudRepository
接口为被管理的实体类提供复杂的 CRUD 功能。ListCrudRepository
提供等效方法,但它们返回 List
,而 CrudRepository
方法返回 Iterable
。
Redis 是一个被数百万开发人员用作数据库、缓存、流引擎和消息代理的开源内存数据库。
在 Spring 中,spring-data-redis 项目对访问 Redis 进行了 API 封装,提供了便捷的访问方式。 spring-data-redis
AbstractApplicationContext#prepareRefresh() 方法