Spring教程 – Spring核心框架教程

Spring 是最广泛使用的 Java EE 框架 之一。我在 Spring 教程 上写了很多内容,这篇总结帖子将作为一个索引,按顺序浏览所有内容。

Spring 教程

所有的 Spring 教程都附带有示例项目,您可以从教程页面下载。

Spring 核心教程

Spring 框架基于两个设计原则 – 依赖注入面向切面编程。请浏览下面的教程,了解核心 Spring 概念并查看实现示例。

  1. Spring 框架 简要介绍了 Spring 框架的演变、架构、核心组件以及指导该令人惊叹的框架发展的原则。
  2. Java 依赖注入示例 本文介绍了依赖注入的基础知识,以及我们如何在简单的Java应用程序中实现DI模式。这是一个很好的起点,然后可以转向Spring依赖注入。
  3. Spring 依赖注入 本教程旨在提供Spring框架中的依赖注入示例,包括基于注解的配置和基于XML的配置。该教程还包括用于验证实现的JUnit测试程序。
  4. Spring AOP 示例 本教程解释了面向切面编程的核心概念,如切面、建议、切入点、连接点、AOP代理和织入。教程通过简单的程序说明了不同类型的建议。
  5. Spring AOP方法性能分析
  6. Spring IoC容器和Spring Bean示例教程
    本教程旨在通过示例程序解释Spring IoC容器和Spring Bean的核心概念。教程介绍了IoC容器及其核心类的相关内容,以及创建ApplicationContext的不同方法。教程还解释了Spring Bean、Spring Bean作用域以及通过示例项目配置Spring Bean的不同方法 – XML、注解、基于Java。
  7. Spring Bean作用域Spring Bean作用域允许我们更细粒度地控制bean实例的创建。
  8. Spring Bean自动装配示例Spring IoC容器能够通过“spring autowire”属性智能地确定用于注入依赖项的bean。本教程通过示例项目解释了不同类型的自动装配。
  9. Spring Bean Life Cycle Spring Beans是任何Spring应用程序的最重要部分。Spring ApplicationContext负责初始化在spring bean配置文件中定义的Spring Beans。本教程介绍了通过不同方式提供spring bean中的后初始化预销毁方法的方法 – InitializingBean/DisposableBean接口或init-method/destroy-method属性。Spring框架还支持使用@PostConstruct@PreDestroy注解来定义后初始化和预销毁方法。这些注解是javax.annotation包的一部分。您还将了解Spring Aware接口,可以用来将Servlet API对象注入到Spring Bean中。
  10. Spring 5 Spring 5于2017年底发布。Spring 5对Spring框架进行了大规模更新。
  11. Spring WebFlux Spring WebFlux是Spring 5中引入的新模块。Spring WebFlux是进入Spring框架中的响应式编程模型的第一步。
  12. Spring Data JPA Spring Data JPA是Spring Data家族的一部分。Spring Data使得创建使用新的数据访问方式的Spring驱动应用程序变得更加容易,例如非关系型数据库、MapReduce框架、云服务,以及先进的关系型数据库支持。

Spring注解

  1. Spring注解简要介绍了Spring框架中最重要的注解。
  2. Spring @Bean Spring @Bean 注解用于指定方法返回一个由Spring上下文管理的bean。Spring Bean注解通常在配置类的方法中声明。
  3. Spring @Service Spring @Service 注解是@Component 注解的一种特例。Spring Service注解只能应用于类,用于将类标记为服务提供者。
  4. Spring @Component Spring 组件注解用于标识一个类为组件。这意味着当使用基于注解的配置和类路径扫描时,Spring 框架会自动检测这些类以进行依赖注入。
  5. Spring @RestController Spring RestController 注解是一个方便的注解,它本身带有@Controller@ResponseBody注解。这个注解应用于一个类,以将其标记为请求处理程序。
  6. Spring @Controller Spring Controller 注解是@Component注解的一种特殊化。Spring Controller 注解通常与基于RequestMapping注解的注解处理程序方法结合使用。
  7. Spring @Repository Spring @Repository注解用于指示该类提供对象的存储、检索、搜索、更新和删除操作的机制。
  8. Spring @Configuration Spring @Configuration 注解是Spring核心框架的一部分。Spring Configuration 注解表示该类具有 @Bean 定义方法。因此,Spring容器可以处理该类并生成在应用程序中使用的Spring Beans。
  9. Spring @Value Spring @Value 注解用于为变量和方法参数分配默认值。我们可以使用 @Value 注解读取Spring环境变量以及系统变量。
  10. Spring @PropertySource Spring @PropertySource 注解用于向Spring环境提供属性文件。此注解与 @Configuration 类一起使用。
  11. Spring @PostConstruct 和 @PreDestroy 当我们在 Spring Bean 中用 @PostConstruct 注解一个方法时,它会在 Spring Bean 初始化后执行。当我们用 PreDestroy 注解一个 Spring Bean 方法时,它会在 bean 实例从上下文中移除时被调用。
  12. Spring @Async Spring 的 @Async 注解允许我们在 spring 中创建异步方法。让我们在这个 Spring 框架教程中探索 @Async

Spring Boot 教程

  1. Spring Boot 教程
  2. Spring Boot 组件
  3. Spring Boot @SpringBootApplication,SpringApplication 类 Spring Boot 的 @SpringBootApplication 注解用于标记一个配置类,该类声明了一个或多个 @Bean 方法,并触发自动配置和组件扫描。Spring Boot 的 SpringApplication 类用于从 Java 主方法启动和运行 Spring 应用程序。
  4. Spring Boot REST 本教程解释了如何使用 Spring Boot 模块创建 REST Web 服务。
  5. Spring Boot MongoDB 学习如何在 Spring Boot 应用程序中使用 MongoDB。
  6. Spring Boot Redis Cache 本文解释了如何将 Redis 缓存集成到 Spring Boot 应用程序中。
  7. Spring Boot Elasticsearch 本文解释了如何将 Elasticsearch 与 Spring Boot 应用程序集成。
  8. Spring Boot Actuator Endpoints Spring Boot Actuator Endpoints 允许我们监控和与我们的应用程序交互。Spring Actuator 是 Spring Boot 的子模块,提供了内置的端点,我们可以在应用程序中启用和禁用。
  9. Spring Boot Initializr Web Interface
  10. Spring Boot CLI Example
  11. Spring Boot – 无法确定用于数据库类型 NONE 的嵌入式数据库驱动程序类
  12. Spring Boot 面试问题

Spring MVC 教程

  1. Spring MVC 初学者教程,使用 Spring Tool Suite Spring MVC 模块帮助我们创建基于 Java 的 Web 应用程序。这是 spring MVC 系列中的第一篇文章,您将学习如何使用 Spring Tool Suite(STS)并使用 Spring MVC 框架创建一个简单的 Web 应用程序。
  2. Spring MVC 示例 本教程解释了如何使用Maven和Eclipse IDE创建Spring MVC应用程序,而无需使用Spring Tool Suite。
  3. 使用JSON的Spring Restful Web服务示例 Spring框架内置支持Jackson JSON API,我们可以利用它来创建一个返回JSON响应的Restful Web服务。本教程详细解释了配置应用程序以返回JSON响应和实现Rest API所需的各个部分。
  4. Spring REST XML和JSON Spring REST支持基于XML和JSON的请求-响应消息。本教程解释了如何使用简单配置轻松支持它们。
  5. Spring RestTemplate Spring RestTemplate提供了一个方便的方法来测试RESTful Web服务。我们可以使用RestTemplate测试基于HTTP的Restful Web服务,但不支持HTTPS协议。
  6. Spring MVC 文件上传示例 文件上传是Web应用程序的常见任务之一,这就是为什么Spring通过集成Apache Commons FileUpload API提供了内置支持。本教程旨在通过上传单个和多个文件的示例,提供对不同组件如何配置的理解。
  7. Spring MVC 国际化和本地化示例 对于遍布全球的Web应用程序,国际化(i18n)或本地化(L10n)对于更好的用户交互非常重要。大多数Web应用程序框架都提供了根据用户区域设置本地化应用程序的简便方法。Spring也遵循这一模式,并通过使用Spring拦截器、区域解析器和不同区域的资源包,为国际化(i18n)提供了广泛支持。本教程通过一个示例项目解释了Spring Web应用程序中的国际化和本地化过程。
  8. Spring MVC表单验证示例 在任何Web应用程序中接受用户输入时,有必要对其进行验证。我们可以使用JavaScript在客户端验证用户输入,但在服务器端验证它们也是必要的,以确保在用户禁用JavaScript的情况下处理有效数据。Spring MVC框架默认支持JSR-303规范,我们只需在Spring MVC应用程序中添加JSR-303及其实现依赖项即可。Spring还提供了@Validator注解和BindingResult类,通过它们,我们可以在控制器请求处理方法中获取Validator实现引发的错误。本教程提供了使用注解进行表单验证的示例,并解释了创建自定义验证器的过程。
  9. Spring MVC异常处理 任何Web应用程序都需要良好的异常处理设计,因为我们不希望在我们的应用程序抛出未处理的异常时提供容器生成的页面。Spring MVC框架为控制器类、全局异常处理程序以及通过HandlerExceptionResolver实现提供了强大的异常处理方法。请查看教程中的示例项目,了解有关Spring MVC异常处理的更多信息。
  10. Spring MVC 拦截器示例 有时候,我们希望拦截 HTTP 请求并在将其交给控制器处理方法之前进行一些处理。这就是 Spring MVC 拦截器派上用场的地方。在 Spring 中,我们可以通过实现 org.springframework.web.servlet.HandlerInterceptor 接口或重写抽象类 org.springframework.web.servlet.handler.HandlerInterceptorAdapter 来创建自己的拦截器。后者提供了这个接口的基本实现。查看教程中的示例项目,了解有关 Spring MVC 拦截器的更多信息。
  11. Spring MVC RequestMapping 示例 @RequestMapping 是最广泛使用的 Spring MVC 注解之一。org.springframework.web.bind.annotation.RequestMapping 注解用于将 web 请求映射到特定的处理程序类和/或处理程序方法。@RequestMapping 可以应用于控制器类以及方法。本教程通过示例和测试程序解释了不同的用法。
  12. Spring 会话管理 Spring 会话模块提供了在 Web 应用程序中管理用户会话的 API 和实现。Spring 会话将会话管理逻辑与应用程序解耦,使其更具容错性。Spring 会话包括以下模块:Spring 会话核心、Spring 会话 JDBC、Spring 会话数据 Redis 和 Spring 会话 Hazelcast。
  13. Spring MVC Gradle 示例

Spring 批处理教程

  1. Spring 批处理 Spring 批处理允许我们通过创建批处理轻松处理大量记录。本文解释了什么是 Spring 批处理,其架构以及何时使用 Spring 批处理应用程序。
  2. Spring 批处理示例 本教程解释了如何创建 Spring 批处理项目以处理大型 CSV 文件。

Spring JDBC 教程

大多数企业应用程序涉及关系型数据库。这就是为什么Spring对JDBC API提供了广泛的支持,同时还提供了包装器来执行数据库CRUD操作。

  1. Spring JDBC和JdbcTemplate CRUD示例Spring框架与JDBC API的集成非常出色,并提供了JdbcTemplate实用类,我们可以使用它来避免在数据库操作逻辑中编写样板代码,如打开/关闭连接、ResultSet、PreparedStatement等。本教程提供了使用Spring JDBC集成进行CRUD操作的示例。
  2. 带Tomcat示例的Spring DataSource JNDI我们还知道,使用JNDI的DataSource是实现连接池的首选方式,并获得容器实现的好处。本教程解释了如何使用Tomcat容器中定义的DataSource作为JNDI资源来获取数据库连接并执行不同的操作。这是在Spring Web应用程序中获取数据库连接的首选方式,因为容器会负责管理数据库资源。
  3. 使用JDBC的Spring事务管理示例 事务管理在任何企业应用程序中都是一项琐碎的任务。Spring为事务管理提供了广泛的支持,帮助开发人员更专注于业务逻辑,而不必担心数据完整性。Spring声明式事务管理是首选的事务管理方法,因为它非常易于使用,而且没有直接的依赖关系,它使用AOP和依赖注入。
  4. Spring JdbcTemplate Spring JdbcTemplate类是Spring JDBC模块的核心。它提供各种方法来执行SQL查询,读取结果集数据等。

Spring Hibernate教程

Spring是最广泛使用的Java EE框架之一,而Hibernate是市场上最好的ORM框架。这就是为什么Spring在Spring ORM模块中提供了对Hibernate的内置支持。

  1. Spring Hibernate集成示例 本教程提供了与Hibernate集成到Spring独立应用程序的示例的完整详细信息。该示例显示了Spring 4 + Hibernate 4以及Spring 4 + Hibernate 3之间的集成。
  2. Spring MVC Hibernate CRUD 示例 Spring MVC 可轻松与 Hibernate 框架集成。此外,我们可以利用 Spring 声明式事务管理,使我们的应用程序摆脱样板代码的束缚。
  3. Spring ORM 示例
  4. Spring ORM 与 AOP 事务管理

Spring 安全教程

Spring 安全可应用于任何 Java Web 应用程序,它作为应用程序的一个独立部分工作,并提供不同的身份验证和授权方式。

  1. Servlet Web 应用程序中的 Spring 安全 本教程解释了 Spring 安全模块的基础知识。它还提供了一个示例,展示了内存、DAO 和基于 JDBC 的身份验证与示例项目。
  2. Spring MVC安全示例 如果我们正在使用Spring MVC框架,应用spring security非常容易,因为我们已经有了基于spring的配置。我们所需要做的就是插入与安全相关的配置。
  3. Spring 4安全 本文介绍了Spring 4中引入的Spring Security模块。
  4. Spring Security MVC 本文介绍了如何将spring security集成到Spring MVC应用程序中。
  5. Spring安全基于角色的访问授权

Spring集成教程

  1. Spring JSF集成示例教程 JSF是一个组件化的框架,非常注重用户界面,而Spring的核心原则是依赖注入。本教程解释了如何通过将JSF与Spring框架集成来充分利用它们。
  2. Primefaces Spring & Hibernate Integration Example Tutorial这是集成示例之一,我们已经解释了如何将PrimeFaces与Spring和Hibernate框架集成。这是一种非常常见的组合,可以充分发挥每个框架的优势。
  3. PrimeFaces Hibernate SpringRoo Integration ExampleSpringRoo是一个开源软件工具,采用约定优于配置的概念,以一种驱动的命令行方式简化生成基于Java的企业软件应用程序。本教程介绍了SpringRoo、PrimeFaces和Hibernate框架之间的集成。

Spring Messaging

  1. Spring AMQP
  2. Spring RabbitMQ
  3. Spring RabbitMQ Example
  4. Spring ActiveMQ Part 1
  5. Spring ActiveMQ Part 2

Spring面试问题

如果您即将参加要求掌握Spring的Java EE面试,我希望这篇文章能帮助您快速复习知识。目前就介绍这些关于Spring教程的内容就到这里。Spring框架有很多模块,我将在未来发布相关内容,并继续在这里添加。因此,我建议您将这篇文章添加到书签中以备将来参考。

Source:
https://www.digitalocean.com/community/tutorials/spring-tutorial-spring-core-tutorial