> For the complete documentation index, see [llms.txt](https://docs.flydean.com/spring-framework-documentation5/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flydean.com/spring-framework-documentation5/spring-framework-overview/3.design-philosophy.md).

# 3. 设计哲学

当你接触到一个框架的时候，不仅仅要知道这个框架是怎么使用的，更需要了解框架的设计原则，下面是Spring框架的设计原则：

在每一层都提供选项。Spring可以让你尽可能的推迟选择。比如你可以通过配置文件来切换数据存储的提供方而不需要改动代码。这个规则也很好的应用在和第三方API集成中。

适应不同的视角。Spring具有灵活性，它不会强制为你决定该怎么选择。它以不同的视角支持广泛的应用需求。

保持强大的向后兼容性。Spring的发展经过了精心的管理，使得版本之间几乎没有割裂的变化。Spring支持精心选择的一系列JDK版本和第三方库，以便于维护依赖于Spring的应用程序和库。

关心API设计。Spring团队投入了大量的思想和时间来制作直观的API，这些API可以在多个版本中使用，并可以使用很多年。

为代码质量设定高标准。Spring框架将重点放在有意义、最新和准确的JavaDoc上。它是少数几个可以声明在包之间没有循环依赖关系的干净代码结构的项目之一。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flydean.com/spring-framework-documentation5/spring-framework-overview/3.design-philosophy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
