Spring 教程 - Spring 核心框架教程
Spring是最广泛使用的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 Proxy 和 Weaving。本教程通过简单的程序讲解了不同类型的 Advice。
- Spring AOP 方法分析
- Spring IoC 容器和 Spring Bean 示例教程本教程旨在通过示例程序解释 Spring IoC 容器和 Spring Bean 的核心概念。本教程解释了 IoC 容器及其核心类以及创建的不同方法
ApplicationContext
。本教程还通过示例项目解释了 Spring Bean、Spring Bean 范围、配置 Spring Bean 的不同方法 - XML、注释、基于 Java。 - Spring Bean Scopes Spring Bean Scopes 允许我们对 bean 实例的创建进行更精细的控制。
- Spring Bean 自动装配示例Spring IoC 容器非常智能,可以通过“spring autowire”属性找出要注入依赖项的 bean。本教程通过示例项目解释了不同类型的自动装配。
- Spring Bean 生命周期Spring Bean 是任何 Spring 应用程序中最重要的部分。Spring ApplicationContext 负责初始化在 Spring bean 配置文件中定义的 Spring Bean。本教程介绍了我们可以在 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 驱动应用程序变得更加容易,例如非关系数据库、地图缩减框架、云服务以及先进的关系数据库支持。
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 Bean。
- Spring @Value Spring @Value注释用于为变量和方法参数分配默认值。我们可以使用@Value注释读取 spring 环境变量以及系统变量
- Spring @PropertySource Spring @PropertySource注释用于向 Spring 环境提供属性文件。此注释与@Configuration类一起使用。
- Spring @PostConstruct 和 @PreDestroy当我们使用@PostConstruct注释注释 Spring Bean 中的方法时,该方法将在 Spring bean 初始化后执行。当我们使用 PreDestroy 注释注释 Spring Bean 方法时,该方法将在 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 Cache 集成到 spring boot 应用程序中。
- Spring Boot Elasticsearch本文介绍如何将 Elasticsearch 与 Spring Boot 应用程序集成。
- Spring Boot Actuator Endpoints Spring Boot Actuator Endpoints 允许我们监控应用程序并与之交互。Spring Actuator 是一个 Spring Boot 子模块,它提供了我们可以为应用程序启用和禁用的内置端点。
- Spring Boot Initializr Web 界面
- 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 服务示例Spring Framework 为Jackson JSON API提供内置支持,我们可以利用它来创建将返回 JSON 响应的 Restful Web 服务。本教程介绍了配置应用程序以返回 JSON 响应和实现 Rest API 所需的应用程序的所有不同部分。
- Spring REST XML 和 JSON Spring REST 支持基于 XML 和 JSON 的请求-响应消息。本教程将介绍如何使用简单的配置轻松支持这两种消息。
- Spring RestTemplate Spring RestTemplate 提供了一种方便的方式来测试 RESTful Web 服务。我们可以使用 RestTemplate 来测试基于 HTTP 的 Restful Web 服务,它不支持 HTTPS 协议。
- Spring MVC 文件上传示例文件上传是 Web 应用程序的常见任务之一,因此 Spring 通过集成Apache Commons FileUpload API 提供对文件上传的内置支持。本教程旨在通过上传单个和多个文件的示例帮助您了解如何配置不同的组件。
- Spring MVC 国际化和本地化示例任何拥有全球用户的 Web 应用程序,国际化 (i18n) 或本地化 (L10n) 对于更好的用户交互都非常重要。大多数 Web 应用程序框架都提供了基于用户区域设置的简单方法来本地化应用程序。Spring 也遵循该模式,并通过使用 Spring 拦截器、区域解析器和针对不同区域设置的资源包为国际化 (i18n) 提供广泛的支持。本教程通过示例项目解释了 Spring Web 应用程序中的 i18n 和 l10n 过程。
- Spring MVC 表单验证示例当我们在任何 Web 应用程序中接受用户输入时,就需要对其进行验证。我们可以使用 JavaScript 在客户端验证用户输入,但也需要在服务器端验证它们,以确保在用户禁用 JavaScript 的情况下我们处理的数据有效。Spring MVC 框架默认支持 JSR-303 规范,我们所需要做的就是在 Spring MVC 应用程序中添加 JSR-303 及其实现依赖项。Spring 还提供了@Validator注释和
BindingResult
类,通过它们我们可以在控制器请求处理程序方法中获取由 Validator 实现引发的错误。本教程提供了一个使用注释的表单验证示例,并解释了创建我们自己的自定义验证器的过程。 - Spring MVC 异常处理任何 Web 应用程序都需要良好的异常处理设计,因为当我们的应用程序抛出任何未处理的异常时,我们不想提供容器生成的页面。Spring MVC 框架提供了一种在 Controller 类、全局异常处理程序和通过 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 示例 @RequestMapping是最广泛使用的 Spring MVC 注释之一。
org.springframework.web.bind.annotation.RequestMapping
注释用于将 Web 请求映射到特定的处理程序类和/或处理程序方法。 @RequestMapping可应用于控制器类和方法。本教程通过示例和测试程序解释了不同的用法。 - Spring Session 管理Spring Session 模块提供用于在 Web 应用程序中管理用户会话的 API 和实现。Spring Session 将会话管理逻辑与应用程序分离,使其更具容错性。Spring Session 由以下模块组成:Spring Session Core、Spring Session JDBC、Spring Session Data Redis 和 Spring Session Hazelcast。
- Spring MVC Gradle 示例
Spring Batch 教程
- Spring Batch Spring Batch 允许我们通过创建批次来轻松处理大量记录。本文介绍什么是 Spring Batch、其架构以及何时使用 Spring Batch 应用程序。
- Spring Batch 示例本教程讲解如何创建 Spring Batch 项目来处理大型 CSV 文件。
Spring JDBC 教程
大多数企业应用程序都与关系数据库打交道。因此,Spring 为 JDBC API 提供了广泛的支持,并且还提供了包装器来执行数据库 CRUD 操作。
- Spring JDBC 和 JdbcTemplate CRUD 与 DataSource 示例Spring 框架提供了与 JDBC API 的出色集成,并提供了 JdbcTemplate 实用程序类,我们可以使用该类来避免数据库操作逻辑中的样板代码,例如打开/关闭连接、ResultSet、PreparedStatement 等。本教程提供了使用 Spring JDBC 集成的 CRUD 操作的示例。
- Spring DataSource JNDI 与 Tomcat 示例我们还知道,使用 JNDI 的 DataSource 是实现连接池和获得容器实现好处的首选方法。本教程介绍如何使用在 tomcat 容器中定义的 DataSource 作为 JNDI 资源来获取数据库连接并执行不同的操作。这是在 spring web 应用程序中获取数据库连接的首选方法,因为容器负责管理数据库资源。
- Spring 事务管理示例与 JDBC事务管理在任何企业应用程序中都是一项简单的任务。Spring 为事务管理提供了广泛的支持,并帮助开发人员将更多精力放在业务逻辑上,而不必担心数据完整性。Spring 声明式事务管理是事务管理的首选方法,因为它非常易于使用并且没有直接依赖关系,它使用 AOP 和依赖注入。
- Spring JdbcTemplate Spring JdbcTemplate 类是 Spring JDBC 模块的核心。它提供了各种方法来执行 SQL 查询、读取结果集数据等。
Spring Hibernate 教程
Spring 是最广泛使用的 Java EE 框架之一,而 Hibernate 是市场上最好的 ORM 框架。这就是为什么 Spring 在Spring ORM模块中提供对 Hibernate 的内置支持。
- Spring Hibernate 集成示例本教程通过示例提供了完整的详细信息,介绍如何将 Hibernate 与 Spring 独立应用程序进行集成。该示例展示了 Spring 4 + Hibernate 4 以及 Spring 4 + Hibernate 3 之间的集成。
- Spring MVC Hibernate CRUD 示例Spring MVC 可轻松与 Hibernate 框架集成。此外,我们还可以利用 Spring Declarative 事务管理,这使我们的应用程序不再需要样板代码。
- Spring ORM 示例
- 带有 AOP 事务管理的 Spring ORM
Spring Security 教程
Spring Security 可以应用于任何 Java Web 应用程序,它作为应用程序的独立部分工作,并提供不同的身份验证和授权方式。
- Servlet Web 应用程序中的 Spring Security本教程讲解了 Spring Security 模块的基础知识。它还通过示例项目提供了基于内存、DAO 和 JDBC 的身份验证的示例。
- Spring MVC 安全示例如果我们使用 Spring MVC 框架,应用 Spring Security 非常容易,因为我们已经拥有基于 Spring 的配置。我们所需要的只是插入与安全相关的配置。
- Spring 4 Security本文介绍了 Spring 4 中引入的 Spring Security 模块。
- Spring Security MVC本文讲解了如何在 Spring MVC 应用程序中使用 Spring Security。
- Spring Security基于角色的访问授权
Spring Integration 教程
- Spring JSF 集成示例教程JSF 是一个基于组件的框架,非常注重用户界面,而 Spring 的核心原则是依赖注入。本教程介绍如何通过将 JSF 与 Spring 框架集成来充分利用它们。
- Primefaces Spring 和 Hibernate 集成示例教程这是集成示例之一,我们解释了如何将 PrimeFaces 与 Spring 和 Hibernate 框架集成。这是一种非常常用的组合,可以充分利用每个框架。
- PrimeFaces Hibernate SpringRoo 集成示例SpringRoo 是一个开源软件工具,它使用约定优于配置概念,以驱动的命令行方式促进基于 Java 的企业软件应用程序的生成。本教程介绍了 SpringRoo、PrimeFaces 和 Hibernate 框架之间的集成。
Spring 消息传递
Spring 面试题
如果您要参加 Java EE 面试,而 Spring 是必备的,我希望这篇文章能帮助您快速复习知识。目前Spring 教程就到此为止。Spring Framework 有很多模块,我将在未来发布有关它们的信息,并继续将它们包含在这里。因此,我建议您将这篇文章加入书签,以供将来参考。