跳至主要內容
Spring MVC 之视图技术

Spring MVC 之视图技术

Spring MVC 中视图技术的使用是可插拔的。无论决定使用 Thymeleaf、Groovy 等模板引擎、JSP 还是其他技术,都可以通过配置来更改。

Spring MVC 的视图位于该应用程序的内部信任边界内。 视图可以访问应用程序上下文的所有 bean。 因此,不建议在模板可由外部源编辑的应用程序中使用 Spring MVC 的模板支持,因为这可能会产生安全隐患。

Thymeleaf

Thymeleaf 是一个现代服务器端 Java 模板引擎,它强调自然的 HTML 模板,可以通过双击在浏览器中预览,而无需运行服务器,这对于 UI 模板的独立工作(例如,由设计师)非常有帮助。


钝悟...大约 20 分钟Java框架SpringSpringWebJava框架SpringWebView
Spring MVC 之跨域

Spring MVC 之跨域

Spring MVC 支持跨域处理(CORS)。

简介

出于安全原因,浏览器禁止对当前源之外的资源进行 AJAX 调用。例如,可以在一个选项卡中使用您的银行帐户,而在另一个选项卡中使用 evil.com。来自 evil.com 的脚本不应该能够使用您的凭据向您的银行 API 发出 AJAX 请求——例如从您的账户中取款!


钝悟...大约 5 分钟Java框架SpringSpringWebJava框架SpringWebCORS
Spring Web 应用

Spring Web 应用

Spring MVC 提供了一种基于注解的编程模型,@Controller@RestController 组件使用注解来表达请求映射、请求输入、异常处理等。注解控制器具有灵活的方法签名,并且不必扩展基类或实现特定接口。以下示例显示了一个由注解定义的控制器:

@Controller
public class HelloController {

    @GetMapping("/hello")
    public String handle(Model model) {
        model.addAttribute("message", "Hello World!");
        return "index";
    }
}

钝悟...大约 23 分钟Java框架SpringSpringWebJava框架SpringWebController
Spring MVC 之 DispatcherServlet

Spring MVC 之 DispatcherServlet

简介

DispatcherServlet 是 Spring MVC 框架的核心组件,负责将客户端请求映射到相应的控制器,然后调用控制器处理请求并返回响应结果

DispatcherServlet 工作原理

DispatcherServlet 工作流程

DispatcherServlet 的工作流程大致如下图所示:

img
img

钝悟...大约 26 分钟Java框架SpringSpringWebJava框架SpringWebDispatcherServlet
Spring Data 综合

Spring Data 综合

Spring Data Repository 抽象的目标是显著减少各种访问持久化存储的样板式代码。

核心概念

Repository 是 Spring Data 的核心接口。此接口主要用作标记接口,以捕获要使用的类型并帮助您发现扩展此接口的接口。CrudRepositoryListCrudRepository 接口为被管理的实体类提供复杂的 CRUD 功能。ListCrudRepository 提供等效方法,但它们返回 List,而 CrudRepository 方法返回 Iterable


钝悟...大约 7 分钟Java框架SpringSpring数据Java框架SpringSpringBoot
Spring 访问 Redis

Spring 访问 Redis

简介

Redis 是一个被数百万开发人员用作数据库、缓存、流引擎和消息代理的开源内存数据库。

在 Spring 中,spring-data-redis 项目对访问 Redis 进行了 API 封装,提供了便捷的访问方式。 spring-data-redis


钝悟...大约 3 分钟Java框架SpringSpring数据Java框架SpringSpringBootRedis
Spring 应用上下文生命周期

Spring 应用上下文生命周期

Spring 应用上下文启动准备阶段

AbstractApplicationContext#prepareRefresh() 方法

  • 启动时间 - startupDate
  • 状态标识 - closed(false)、active(true)
  • 初始化 PropertySources - initPropertySources()
  • 检验 Environment 中必须属性
  • 初始化事件监听器集合
  • 初始化早期 Spring 事件集合

钝悟...大约 3 分钟Java框架SpringSpring核心Java框架Spring
Spring Environment 抽象

Spring Environment 抽象

理解 Spring Environment 抽象

统一的 Spring 配置属性管理

Spring Framework 3.1 开始引入 Environment 抽象,它统一 Spring 配置属性的存储,包括占位符处理和类型转换,不仅完整地替换 PropertyPlaceholderConfigurer,而且还支持更丰富的配置属性源(PropertySource)

条件化 Spring Bean 装配管理

通过 Environment Profiles 信息,帮助 Spring 容器提供条件化地装配 Bean


钝悟...大约 2 分钟Java框架SpringSpring核心Java框架Spring
2
3
4
5
...
7