Author:Dawn_T17🥥
目录
一.介绍
Why Spring?
Spring makes programming Java quicker, easier, and safer for everybody. Spring's focus on speed, simplicity, and productivity has made it the world's most popular Java framework.
---Spring official site
Spring 是一个开源的 Java 应用开发框架,具有强大的功能和广泛的应用场景。
Spring 框架旨在解决企业级应用开发中的常见问题,提供了一系列的工具和技术,以简化开发过程、提高开发效率和增强应用的可维护性、可扩展性。
具体来说,Spring 具有以下几个关键方面:
- 依赖管理:通过控制反转(IoC)和依赖注入(DI)机制,管理对象之间的依赖关系,降低了模块之间的耦合度。
- 举例来说,如果一个类需要使用另一个类的功能,不再由自身去创建实例,而是由 Spring 框架来注入。
- 面向切面编程(AOP):能够将横切关注点(如日志记录、性能监控、事务处理等)从核心业务逻辑中分离出来,实现代码的模块化和复用。
- 比如,对于所有的数据库操作方法,可以统一添加事务管理的切面,而无需在每个方法中重复编写事务相关的代码。
- 数据访问集成:支持多种数据访问方式,如 JDBC、ORM 框架(如 Hibernate、MyBatis)等,并提供了统一的数据访问模板,简化了数据操作。
- 使得开发者可以更专注于业务逻辑,而不必过多关注底层的数据访问细节。
- 事务管理:提供了强大且灵活的事务管理机制,确保数据的一致性和完整性。
- 例如,在一个涉及多个数据库操作的业务流程中,如果其中一个操作失败,Spring 可以自动回滚整个事务。
- Web 应用支持:为构建 Web 应用提供了丰富的功能,包括 MVC 架构的支持、请求处理、视图解析等。
Spring 框架为 Java 开发者提供了一个全面、高效、灵活的开发平台,帮助开发者构建高质量、可扩展的企业级应用。
所有spring 框架都基于Spring Framework进行
但Spring Framework难度大,繁琐,所以以Spring Boot入门
Spring Boot 是构建在 Spring 框架基础之上的一个开源框架,旨在极大地简化 Spring 应用的开发和部署过程。
Spring Boot 的一些关键特点和优势:
-
快速启动和开发
- 提供了大量的默认配置和自动配置,减少了开发者手动配置的工作量。
- 只需添加少量的依赖和代码,就能快速创建一个可运行的应用。
-
嵌入式服务器
- 内置了常用的 Web 服务器,如 Tomcat、Jetty 等,无需单独部署服务器。
- 方便在开发过程中进行快速测试和运行。
-
简化配置
- 通过属性文件(如
application.properties
或application.yml
)可以轻松配置应用的各种参数。
- 通过属性文件(如
-
微服务友好
- 非常适合构建微服务架构的应用,便于独立开发、部署和扩展各个服务。
-
监控和健康检查
- 提供了一系列的端点,用于监控应用的运行状态、性能指标和健康状况。
-
丰富的 starter 依赖
- 例如
spring-boot-starter-web
用于构建 Web 应用,spring-boot-starter-data-jpa
用于数据持久化等。
- 例如
举例来说,如果要创建一个简单的 Web 应用,使用 Spring Boot 只需要添加 spring-boot-starter-web
依赖,创建一个控制器类,然后运行主类即可启动应用。
Spring Boot 以其便捷性、高效性和强大的功能,成为了当今 Java 开发中非常流行的框架,大大提高了开发效率和应用的质量。
为什么叫Boot?
Spring Boot被称为 "Boot" 可能有以下几个原因的推测:
- 启动、引导的含义:"Boot" 有启动、引导的意思,象征着 Spring Boot 能够快速、便捷地启动一个 Spring 应用程序,帮助开发者轻松搭建和运行项目。
例如,它通过自动配置和默认的设置,减少了大量的初始配置工作,让应用能够迅速"启动"起来并投入运行。
2.快速入门:表示能够让开发者快速入门并开始构建应用。
相比传统的 Spring 框架,Spring Boot 降低了学习和使用的门槛,使开发者能够更快地进入到实际的业务逻辑开发中。
总之,"Boot" 这个词强调了 Spring Boot 在帮助开发者快速、轻松地启动和开展 Spring 应用开发方面的重要特性和优势。
二.入门程序
创建springboot工程
运行时候运行启动类
新创建一个类,并写相关的函数,并加上注解
TIP注解
注解是一种在代码中添加元数据的机制。在 Java 中,注解可以用于为代码添加各种信息。
注解就像是给代码贴的标签,可以为代码提供额外的信息或指示。
它们有以下一些特点和用途:
- 提供配置信息,比如告诉框架如何处理某些类或方法。
- 进行代码验证,确保某些约束条件得到满足。
- 辅助代码生成工具进行特定的处理。
常见的内置注解有 @Override
用于表示方法是重写父类的方法,@Deprecated
表示该元素已过时
**@RestController
**主要用于构建 RESTful API 的控制器。
{
REST:Representational State Transfer(表述性状态转移)
它强调了以下几个关键概念:
资源(Resource):系统中的各种实体被视为资源,通过 URL 来标识。
状态(State):资源在不同操作下的状态变化。
表述(Representational):资源的具体表现形式,如 JSON、XML 等。
转移(Transfer):通过 HTTP 协议在客户端和服务器之间进行资源状态的转移和操作。
这种架构风格使得 Web 应用更加简洁、灵活和可扩展。客户端通过发送 HTTP 请求到特定的资源 URL 来执行操作,服务器根据请求方法和 URL 处理并返回相应的资源状态表述。
}
当一个类被标注为@RestController
后,这个类中的方法通常用于处理 HTTP 请求。这些方法通过使用各种 HTTP 方法(如GET
、POST
、PUT
、DELETE
等)的注解(如@GetMapping
、@PostMapping
等)来映射具体的请求路径。
它的主要特点包括:
- 方法的返回值会被直接序列化为合适的响应格式(如 JSON、XML 等)发送给客户端。
- 简化了开发过程,不需要手动将数据转换为响应格式。
@RequestMapping
是 Spring 框架中用于将请求的 URL 映射到相应的处理方法的注解。
它可以标注在类上或方法上。标注在类上时,为该类下的所有方法定义了一个基础的请求路径前缀;标注在方法上则具体指定了该方法处理的相对路径。