
Spring框架
文章平均质量分 87
dingdingfish
能将忙事成闲事 不薄今人爱古人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring Start Here 读书笔记:附录 F. Recommended tools
原创 2025-08-29 08:35:42 · 122 阅读 · 0 评论 -
Spring Start Here 读书笔记:附录D. Using JSON formatting
在 JSON 中,对象本身没有名称或类型。该对象唯一相关的项是其属性。一个对象可能包含另一个对象实例作为其某个属性的值。REST 端点是应用之间建立通信的最常见方式之一,而 JSON 是格式化交换数据的主要方式。JSON指JavaScript Object Notation。如果要在 JSON 中定义对象集合,请使用括号,并用逗号分隔条目。原创 2025-08-28 10:59:35 · 299 阅读 · 0 评论 -
Spring Start Here 读书笔记:附录 C. A quick introduction to HTTP
HTTP是在web应用中,客户端与服务器通讯的方式,他提供了交换信息的规则。或者说,是一种无状态的,基于文本的,请求响应协议,使用客户端-服务器计算模型。无状态指每一个请求都是独立的。原创 2025-08-28 10:59:05 · 165 阅读 · 0 评论 -
Spring Start Here 读书笔记:附录A. Architectural approaches
然而,单体式应用可以是(也应该是)模块化的(例如JAVA的package, class, interface,C的library,SQL的package,function/procedure,甚至Sping框架的Controller, Service和Repository),并且其代码可能很简洁,而面向服务的应用则可能混乱且设计糟糕。如今,科技不再只是技术人员的专利,而是人人共享的。然后服务间的通讯方式面临多种选择,如REST,SOAP,gRPC,Kafka,JMS message broker等。原创 2025-08-27 20:32:47 · 481 阅读 · 0 评论 -
Spring Start Here 读书笔记:第15 章 Testing your Spring app
测试是一小段代码,用于验证应用中实现的某些逻辑的行为。测试必不可少,因为它们可以帮助您确保未来的应用开发不会破坏现有功能。测试还可以作为文档。测试分为两类:单元测试和集成测试。单元测试仅关注孤立的逻辑部分,并验证一个简单组件的运行方式,而不检查它与其他功能的集成情况。单元测试之所以有用,是因为它们执行速度快,并能直接指出特定组件可能面临的问题。集成测试专注于验证两个或多个组件之间的交互。它们至关重要,因为有时两个组件可能独立运行正常,但无法良好地通信。集成测试可以帮助我们缓解此类情况引发的问题。原创 2025-08-27 20:31:28 · 1265 阅读 · 0 评论 -
Spring Start Here 读书笔记:第13章 Using transactions in Spring apps
事务是一组更改数据的操作,这些操作要么同时执行,要么完全不执行。在实际场景中,几乎所有用例都应该成为事务的对象,以避免数据不一致。如果任何操作失败,应用会将数据恢复到事务开始时的状态。发生这种情况时,我们称事务回滚。如果所有操作都成功,我们就说事务提交了,这意味着应用程序会保留用例执行过程中的所有更改。要在 Spring 中实现事务代码,可以使用 @Transactional 注解。您可以使用 @Transactional 注解标记您希望 Spring 包装在事务中的方法。原创 2025-08-26 09:00:00 · 794 阅读 · 0 评论 -
Spring Start Here 读书笔记:第14 章 Implementing data persistence with Spring Data
Spring Data 是一个 Spring 生态系统项目,可以帮助我们更轻松地实现 Spring 应用的持久层。Spring Data 提供了一个基于多种持久化技术的抽象层,并通过提供一组通用的契约来简化实现。Repository,不提供任何持久化操作CrudRepository,扩展了Repository,提供简单的CRUD操作PagingAndSortingRepository,扩展了 CrudRepository,并添加了对获取的记录进行分页和排序的操作。原创 2025-08-26 09:15:00 · 1105 阅读 · 0 评论 -
Spring Start Here 读书笔记:第12章 Using data sources in Spring apps
数据源是一个管理与数据库管理系统 (DBMS) 连接的组件。它使用 JDBC 驱动程序获取其管理的连接。数据源旨在通过允许其逻辑重用与 DBMS 的连接,并仅在需要时请求新连接来提高应用的性能。数据源还会确保在释放连接时关闭它们。如果没有一个对象承担数据源的责任,应用就需要为每次数据操作请求一个新的连接。由于每次操作都需要通过网络通信来建立新的连接,这会显著降低应用速度并导致性能问题。数据源可以确保应用仅在真正需要时才请求新的连接,从而提升应用的性能。原创 2025-08-25 08:50:26 · 631 阅读 · 0 评论 -
Spring Start Here 读书笔记:第11章 Consuming REST endpoints
在实际的后端解决方案中,您经常会发现后端应用需要调用另一个后端应用公开的端点的情况。Spring 提供了多种用于实现 REST 服务客户端的解决方案。以下是三种最相关的解决方案:OpenFeign:Spring Cloud 项目提供的解决方案,它成功简化了调用 REST 端点所需的代码编写,并添加了多项与我们当前服务实现方式相关的功能RestTemplate:用于在 Spring 应用中调用 REST 端点的简单工具。原创 2025-08-25 08:41:12 · 921 阅读 · 0 评论 -
Spring Start Here 读书笔记:第10章 Implementing REST services
表述性状态转移 (REST) Web 服务是在两个应用程序之间建立通信的一种简单方法。在 Spring 应用中,Spring MVC 机制支持 REST 端点的实现。您需要使用 @ResponseBody 注解来指定方法直接返回响应主体,或者将 @Controller 注解替换为 @RestController 来实现 REST 端点。如果您不使用上述任何一种注解,调度器 Servlet 将假定控制器的方法返回的是视图名称,并尝试查找该视图。原创 2025-08-22 21:48:12 · 999 阅读 · 0 评论 -
Spring Start Here 读书笔记:第9章 Using the Spring web scopes
除了单例和原型 bean 作用域之外,在 Spring Web 应用中还有三个 bean 作用域,他们只在 Web 应用中才有意义,因此我们称之为 Web 作用域:请求作用域——Spring 为每个 HTTP 请求创建一个 bean 实例。会话作用域——Spring 为每个客户端的 HTTP 会话创建一个 bean 实例。来自同一客户端的多个请求可以共享同一个实例。应用程序作用域——对于该特定 bean,整个应用只有一个实例。来自任何客户端的每个请求都可以访问此实例。原创 2025-08-22 21:42:06 · 869 阅读 · 0 评论 -
Spring Start Here 读书笔记:第8章 Implementing web apps with Spring Boot and Spring MVC
如今的 Web 应用拥有动态页面(也称为动态视图),可针对不同的请求显示不同内容。为了知道要显示什么,动态视图从控制器获取变量数据。在 Spring 应用中实现动态页面的一个简单方法是使用模板引擎,例如 Thymeleaf。Thymeleaf 的替代方案包括 Mustache、FreeMarker 和 Java Server Pages (JSP)。模板引擎是一种依赖项,它为您的应用程序提供了轻松获取控制器发送的数据并将其显示在视图上的能力。客户端可以通过请求参数或路径变量向服务器发送数据。原创 2025-08-22 13:02:43 · 529 阅读 · 0 评论 -
Spring Start Here 读书笔记:第7章 Understanding Spring Boot and Spring MVC
您通过网络浏览器访问的任何应用程序都是web应用程序(客户端只需安装浏览器)。客户端是用户直接交互的部分。Web 浏览器代表 Web 应用的客户端。浏览器向 Web 服务器发送请求,接收来自服务器的响应,并为用户提供与应用交互的途径。我们也将 Web 应用的客户端称为前端。服务器端接收来自客户端的请求并返回数据作为响应。服务器端实现处理客户端请求的数据(有时还会存储这些数据)的逻辑,然后再发送响应。我们也将 Web 应用的服务器端称为后端。如今,Web 应用使用的频率比桌面应用更高。原创 2025-08-22 13:02:12 · 870 阅读 · 0 评论 -
Spring Start Here 读书笔记:第6章 Using aspects with Spring AOP
切面是一个拦截方法调用的对象,它可以在被拦截方法执行之前、之后甚至代替被拦截方法执行逻辑。这可以帮助你将部分代码与业务实现分离,并使应用更易于维护。使用切面,您可以编写与方法执行同时执行的逻辑,同时与该方法完全解耦。这样,阅读代码的人只会看到与业务实现相关的内容。切面可能是一个危险的工具。过度使用切面会降低你的应用的可维护性。你不需要到处都使用切面。使用切面时,请确保它们确实有助于你的实现。切面支持许多基本的 Spring 功能,例如事务和安全方法。原创 2025-08-21 13:00:28 · 1287 阅读 · 0 评论 -
Spring Start Here 读书笔记:第5章 The Spring context: Bean scopes and life cycle
在 Spring 中,Bean 的范围定义了框架如何管理对象实例。Spring 提供两种 Bean 作用域:单例 (Singleton) 和原型 (Prototype)。使用单例时,Spring 直接在其上下文中管理对象实例。每个实例都有一个唯一的名称,使用该名称始终可以引用该特定实例。单例是 Spring 的默认设置。使用原型时,Spring 仅考虑对象类型。每种类型都有一个与之关联的唯一名称。每次引用该 Bean 名称时,Spring 都会创建该类型的新实例。原创 2025-08-21 08:47:59 · 975 阅读 · 0 评论 -
Spring Start Here 读书笔记:第3章 The Spring context: Wiring beans
假设我们在 Spring 上下文中有两个实例:一只鹦鹉和一个人。我们将创建这两个实例并将其添加到上下文中,然后将这两个实例关联起来。3.1.1和3.1.2即两种不同的方法。假设我们在 Spring 上下文中有两个实例:一只鹦鹉和一个人。我们将创建这两个实例并将其添加到上下文中,然后将这两个实例关联起来。3.1.1和3.1.2即两种不同的方法。Spring 上下文是应用内存中的一个空间,框架用它来保存其管理的对象。您需要使用框架提供的功能将任何需要扩展的对象添加到 Spring 上下文中。原创 2025-08-20 12:59:04 · 1125 阅读 · 0 评论 -
Spring Start Here 读书笔记:第4章 The Spring context: Using abstractions
在 Java 中,接口(interface)是一个抽象结构,用于声明特定的职责。实现该接口的对象必须定义该职责。多个实现相同接口的对象可以用不同的方式定义该接口声明的职责。我们可以说,接口指定了“需要发生什么”,而每个实现该接口的对象则指定了“应该如何发生”。在实现类设计时,通过抽象来解耦实现是最佳实践。对象解耦使得实现易于更改,而不会影响应用程序的太多部分。这使得您的应用程序更易于扩展和维护。在 Java 中,我们使用接口来解耦实现。我们也说我们通过接口来定义实现之间的契约。原创 2025-08-19 10:31:11 · 221 阅读 · 0 评论 -
Spring Start Here 读书笔记:第2章 The Spring context: Defining beans
注解@Configuration表示下面的类ProjectConfig 是一个配置类。原创 2025-08-19 09:42:37 · 800 阅读 · 0 评论 -
Spring Start Here 读书笔记:第1章 Spring in the real world
通常是国防或政府组织的应用,基于对安全的高要求。应用程序框架是一组常见的软件功能,为开发应用程序提供基础结构。框架充当构建应用程序的骨架支撑。框架通过提供您组装到实现中的功能(而非自行开发),帮助您更高效(节省时间,减少bug)地构建应用。使用像 Spring 这样的知名框架,你能接触庞大的社区,更容易找到他人遇到的类似问题,并学习他们的解决方法,从而节省自行摸索的时间。在实现应用程序时,务必考虑所有可能性,包括不使用框架。应该考虑该框架的主要用途、用户规模和成熟度。原创 2025-08-19 09:42:12 · 647 阅读 · 0 评论 -
开始读Sping Start Here
本书出版商网页在。其中有还包括示例源码和勘误表。原创 2025-08-18 08:44:55 · 576 阅读 · 0 评论 -
Spring 相关术语中英文对照表
【代码】Spring 相关术语中英文对照表。原创 2025-08-18 08:27:46 · 851 阅读 · 0 评论