春天是最广泛使用的Java EE框架之一。我写了很多关于Spring教程的内容,这篇总结帖将作为一个索引,以便按顺序浏览所有内容。
Spring教程
所有Spring教程都附带示例项目,您可以从教程页面下载。
Spring核心教程
Spring框架基于两个设计原则 – 依赖注入和面向切面编程。请查看以下教程,了解关于核心Spring概念的内容,并附有实现示例。
- Spring框架 简要介绍了Spring框架的演变、其架构、核心组件和指导该出色框架发展的原则。
- 依賴注入Java示例 這篇文章介紹了依賴注入的基礎知識,以及我們如何在簡單的Java應用程序中實現DI模式。這是一個很好的起點,然後我們可以轉向Spring依賴注入。
- Spring依賴注入 本教程旨在提供Spring框架中的依賴注入示例,包括基於注解的配置和基於XML的配置。該教程還包括JUnit測試程序以驗證實現。
- Spring AOP示例 本教程解釋了面向方面編程的核心概念,如Aspect、Advice、Pointcut、Joinpoint、AOP代理和Weaving。該教程介紹了不同類型的Advice,並提供了簡單的程序。
- Spring AOP方法分析
- Spring IoC容器和Spring Bean示例教程 本教程旨在通过示例程序解释Spring IoC容器和Spring Bean的核心概念。教程解释了IoC容器及其核心类以及创建
ApplicationContext
的不同方式。教程还介绍了Spring Bean、Spring Bean作用域以及通过示例项目配置Spring Bean的不同方式 – XML、注解、基于Java。 - Spring Bean作用域 Spring Bean作用域允许我们更精细地控制bean实例的创建。
- Spring Bean自动装配示例 Spring IoC容器能够通过“spring autowire”属性智能地找到要注入依赖项的bean。本教程通过示例项目解释了不同类型的自动装配。
- Spring Bean生命周期 Spring Beans 是任何 Spring 應用程式中最重要的部分。Spring ApplicationContext 負責初始化在 Spring Bean 配置檔中定義的 Spring Beans。本教程解釋了我們可以通過不同方式來提供 Spring Bean 的後初始化和銷毀前方法 – InitializingBean/DisposableBean 接口或 init-method/destroy-method 屬性。Spring 框架還支持用於定義後初始化和銷毀前方法的
@PostConstruct
和@PreDestroy
注解。這些注解是 javax.annotation 包的一部分。您還將了解可以用來將 Servlet API 對象注入 Spring Bean 的 Spring Aware 接口。 - Spring 5 Spring 5 於2017年底發布。Spring 5 對 Spring 框架進行了大幅更新。
- Spring WebFlux Spring WebFlux 是 Spring 5 中引入的新模塊。Spring WebFlux 是進入 Spring 框架的反應式編程模型的第一步。
- Spring Data JPA Spring Data JPA 是 Spring Data 家族的一部分。Spring Data 使得创建使用新的数据访问方式的 Spring 驱动应用程序更加容易,包括非关系型数据库、MapReduce 框架、云服务以及先进的关系数据库支持。
Spring 注解
- Spring 注解 简要介绍了 Spring 框架中最重要的注解。
- Spring @Bean Spring @Bean 注解应用于方法,用于指定它返回一个由 Spring 上下文管理的 bean。Spring Bean 注解通常声明在配置类的方法中。
- Spring @Service Spring @Service 注解是 @Component 注解的一种特化。Spring Service 注解只能应用于类,用于将类标记为服务提供者。
- Spring @Component Spring Component 注解用於標記類別為 Component。這意味著當使用基於註解的配置和類路徑掃描時,Spring 框架將自動檢測這些類別以進行依賴注入。
- Spring @RestController Spring RestController 注解是一個方便的註解,它本身被標記為 @Controller 和 @ResponseBody。這個註解應用於一個類別,將其標記為一個請求處理器。
- Spring @Controller Spring Controller 注解是 @Component 注解的一個特例。Spring Controller 注解通常與基於 RequestMapping 注解的註解處理器方法結合使用。
- Spring @Repository Spring @Repository 注解用於指示該類別提供對象的存儲、檢索、搜索、更新和刪除操作的機制。
- Spring @Configuration Spring @Configuration 注釋是 Spring 核心框架的一部分。Spring Configuration 注釋表示該類具有 @Bean 定義方法。因此,Spring 容器可以處理該類並生成用於應用程序的 Spring Beans。
- Spring @Value Spring @Value 注釋用於將默認值分配給變量和方法參數。我們可以使用 @Value 注釋讀取 spring 環境變量以及系統變量。
- Spring @PropertySource Spring @PropertySource 注釋用於向 Spring 環境提供屬性文件。此注釋與 @Configuration 類一起使用。
- Spring @PostConstruct 和 @PreDestroy 當我們在 Spring Bean 中用 @PostConstruct 注釋一個方法時,它會在 Spring Bean 初始化後執行。當我們在 Spring Bean 方法中用 PreDestroy 注釋時,它會在從上下文中刪除 bean 實例時調用。
- Spring @Async Spring 的 @Async 注釋允許我們在 spring 中創建異步方法。讓我們在這個 spring 框架教程中探索 @Async。
Spring Boot 教程
- Spring Boot 教程
- Spring Boot 組件
- Spring Boot @SpringBootApplication,SpringApplication 类 Spring Boot @SpringBootApplication 注解用于标记配置类,该类声明一个或多个 @Bean 方法,并触发自动配置和组件扫描。Spring Boot SpringApplication 类用于从 Java 主方法引导和启动 Spring 应用程序。
- Spring Boot REST 本教程解释了如何使用 Spring Boot 模块创建 REST Web 服务。
- Spring Boot MongoDB 学习如何在 Spring Boot 应用程序中使用 MongoDB。
- Spring Boot Redis Cache 本文解释了如何将 Redis 缓存集成到 Spring Boot 应用程序中。
- Spring Boot Elasticsearch 本文解释了如何将 Elasticsearch 与 Spring Boot 应用程序集成。
- Spring Boot Actuator 端點 Spring Boot Actuator 端點讓我們監控並與應用程序進行交互。Spring Actuator 是 Spring Boot 的子模組,提供了內置的端點,我們可以為應用程序啟用和禁用這些端點。
- Spring Boot Initializr 網頁界面
- Spring Boot CLI 示例
- Spring Boot – 無法確定嵌入式數據庫的驅動程序類型為 NONE
- Spring Boot 面試問題
Spring MVC 教程
- Spring MVC 初學者教程,使用 Spring Tool Suite Spring MVC 模組幫助我們創建基於 Java 的 Web 應用程序。這是 spring MVC 系列中的第一篇文章,您將學習如何使用 Spring Tool Suite(STS)並使用 Spring MVC 框架創建一個簡單的 Web 應用程序。
- Spring MVC 範例 本教程將解釋如何使用 Maven 和 Eclipse IDE 創建 Spring MVC 應用程序,而不使用 Spring Tool Suite。
- 帶 JSON 的 Spring Restful Web Service 範例 Spring Framework 內置支持 Jackson JSON API,我們可以利用它來創建一個返回 JSON 響應的 RESTful Web Service。本教程將解釋配置應用程序所需的不同部分,以使我們的應用程序返回 JSON 響應並實現 REST API。
- Spring REST XML 和 JSON Spring REST 支持基於 XML 和 JSON 的請求-響應消息。本教程將解釋如何使用簡單配置輕鬆支持它們。
- Spring RestTemplate Spring RestTemplate 提供了一種方便的方式來測試 RESTful Web Service。我們可以使用 RestTemplate 測試基於 HTTP 的 RESTful Web Service,但它不支持 HTTPS 協議。
- Spring MVC 文件上傳範例 文件上傳是網絡應用程序的常見任務之一,這就是為什麼 Spring 通過集成 Apache Commons FileUpload API 提供了內置支持。本教程旨在通過單個文件和多個文件上傳示例,提供對不同組件配置的理解。
- Spring MVC 國際化和本地化範例 對於全球各地的用戶的任何網絡應用程序,國際化(i18n)或本地化(L10n)都是非常重要的,以提供更好的用戶交互。大多數網絡應用程序框架都提供了根據用戶區域設置的簡單本地化應用程序的方法。Spring 也遵循這種模式,通過使用 Spring 拦截器、區域解析器和不同區域的資源包,為國際化(i18n)提供了廣泛支持。本教程通過示例項目解釋了 Spring Web 應用程序中的 i18n 和 l10n 過程。
- Spring MVC 表單驗證範例 在任何網路應用程式中接受使用者輸入時,驗證它們變得必要。我們可以使用 JavaScript 在客戶端驗證使用者輸入,但在伺服器端驗證它們也是必要的,以確保我們在處理有效數據時,即使使用者已禁用 JavaScript。Spring MVC 框架默認支持 JSR-303 規範,我們只需要在 Spring MVC 應用程式中添加 JSR-303 及其實現相關的依賴項。Spring 還提供了@Validator註釋和
BindingResult
類,通過這些類,我們可以在控制器請求處理程序方法中獲取驗證器實現引發的錯誤。該教程提供了使用註釋的表單驗證示例,並解釋了創建我們自己的自定義驗證器的過程。 - Spring MVC 异常處理 任何網路應用程式都需要良好的異常處理設計,因為我們不希望在應用程式拋出未處理的異常時提供容器生成的頁面。Spring MVC 框架提供了在控制器類中進行強大異常處理、全局異常處理器以及通過 HandlerExceptionResolver 實現的方法。查看教程中的示例項目,以了解更多有關 Spring MVC 異常處理的信息。
- Spring MVC 拦截器示例 有时我们希望拦截 HTTP 请求并在将其传递给控制器处理方法之前进行一些处理。这就是 Spring MVC 拦截器派上用场的地方。我们可以通过实现 org.springframework.web.servlet.HandlerInterceptor 接口或通过覆盖提供该接口的基本实现的抽象类 org.springframework.web.servlet.handler.HandlerInterceptorAdapter 来在 Spring 中创建自己的拦截器。查看教程中的示例项目,了解更多关于 Spring MVC 拦截器的信息。
- Spring MVC 请求映射示例 @RequestMapping 是最广泛使用的 Spring MVC 注解之一。
org.springframework.web.bind.annotation.RequestMapping
注解用于将 Web 请求映射到特定的处理程序类和/或处理程序方法。@RequestMapping 可以应用于控制器类以及方法。本教程通过示例和测试程序解释了不同的用法。 - Spring Session Management Spring Session 模組提供了在 Web 應用程式中管理使用者會話的 API 和實現。Spring Session 將會話管理邏輯與應用程式解耦,使其更具容錯性。Spring Session 包括以下模組:Spring Session Core、Spring Session JDBC、Spring Session Data Redis 和 Spring Session Hazelcast。
- Spring MVC Gradle Example
Spring Batch 教程
- Spring Batch Spring Batch 允許我們通過創建批次來輕鬆處理大量記錄。本文解釋了什麼是 Spring Batch、其架構以及何時使用 Spring Batch 應用程式。
- Spring Batch Example 本教程解釋了如何創建 Spring Batch 項目來處理大型 CSV 檔案。
Spring JDBC 教程
大多數企業應用程序處理關聯式數據庫。這就是為什麼Spring提供廣泛支持JDBC API,並提供包裹器來執行數據庫CRUD操作的原因。
- Spring JDBC和JdbcTemplate使用DataSource的CRUD示例 Spring框架與JDBC API有著出色的集成,並提供JdbcTemplate實用類,我們可以使用它來避免在數據庫操作邏輯中編寫樣板代碼,例如打開/關閉連接、ResultSet、PreparedStatement等。本教程提供了使用Spring JDBC集成執行CRUD操作的示例。
- Spring DataSource JNDI與Tomcat示例 我們還知道,使用JNDI的數據源是實現連接池並獲取容器實現好處的首選方法。本教程解釋了我們如何使用在Tomcat容器中定義的數據源作為JNDI資源來獲取數據庫連接並執行不同操作。這是在Spring Web應用程序中獲取數據庫連接的首選方式,因為容器會管理數據庫資源。
- 使用JDBC的Spring事务管理示例 事务管理在任何企业应用程序中都是一项琐碎的任务。Spring为事务管理提供了广泛的支持,帮助开发人员更专注于业务逻辑,而不用担心数据完整性。Spring声明式事务管理是首选的事务管理方法,因为它易于使用,没有直接依赖,它使用AOP和依赖注入。
- Spring JdbcTemplate Spring JdbcTemplate类是Spring JDBC模块的核心。它提供各种方法来执行SQL查询,读取结果集数据等。
Spring Hibernate教程
Spring是最广泛使用的Java EE框架之一,而Hibernate是市场上最好的ORM框架。这就是为什么Spring在Spring ORM模块中提供了对Hibernate的内置支持。
- Spring Hibernate集成示例 本教程提供了一个完整的示例,演示了如何在Spring独立应用程序中集成Hibernate。该示例显示了Spring 4 + Hibernate 4以及Spring 4 + Hibernate 3之间的集成。
- Spring MVC Hibernate CRUD Example Spring MVC 可輕鬆與 Hibernate 框架集成。此外,我們可以利用 Spring 声明式事務管理,使我們的應用程序免於模板代碼。
- Spring ORM Example
- Spring ORM with AOP Transaction Management
Spring Security Tutorial
Spring Security 可應用於任何 Java Web 應用程序,它作為應用程序的獨立部分,並提供不同的身份驗證和授權方式。
- Servlet Web 應用程序中的 Spring Security 本教程解釋了 Spring Security 模塊的基礎知識。它還提供了一個示例項目,示例項目中使用了基於內存、DAO 和 JDBC 的身份驗證。
- Spring MVC 安全性示例 如果我們正在使用 Spring MVC 框架,應用 spring 安全性非常容易,因為我們已經有基於 spring 的配置。我們所需的就是插入與安全相關的配置。
- Spring 4 安全性 本文介紹了在 Spring 4 中引入的 Spring 安全性模組。
- Spring 安全性 MVC 本文解釋了如何將 spring 安全性應用於 Spring MVC 應用程序中。
- Spring 安全性基於角色的訪問授權
Spring 整合教程
- Spring JSF 整合示例教程 JSF 是一個以組件為基礎的框架,非常重視用戶界面,而 Spring 的核心原則是依賴注入。本教程解釋了如何通過將 JSF 與 Spring 框架整合來充分利用這些功能。
- Primefaces Spring & Hibernate Integration Example 教學 這是其中一個整合範例,我們解釋了如何將 PrimeFaces 與 Spring 和 Hibernate 框架整合。這是一個非常常用的組合,可以充分利用每個框架的優勢。
- PrimeFaces Hibernate SpringRoo 整合範例 SpringRoo 是一個開源軟體工具,採用慣例優於配置的概念,以命令行方式驅動產生基於 Java 的企業軟體應用程式。本教學解釋了 SpringRoo、PrimeFaces 和 Hibernate 框架之間的整合。
Spring 訊息傳遞
春季面試問題
如果您正在參加要求Spring的Java EE面試,我希望這篇文章能夠幫助您快速刷新知識。目前就這些關於Spring教程的內容。Spring框架有很多模塊,我將在將來發布有關它們的文章並不斷在這裡添加。因此,我建議您收藏此文章以供將來參考。
Source:
https://www.digitalocean.com/community/tutorials/spring-tutorial-spring-core-tutorial