Spring Boot 知识归纳总结

目录

一、引言

1. 什么是 Spring Boot

2. 为什么选择 Spring Boot

3. Spring Boot 的 “拓展”

二、开始

1. 使用 IDEA 快速创建项目

2. 常见的项目结构说明

3. 常见的包和模块


一、引言

1. 什么是 Spring Boot

Spring Boot 是一个开源的 Java 框架,用于构建独立的、生产就绪的基于 Java 的应用程序。它是Spring 框架的一种简化和快速开发方式,旨在帮助开发者更容易地构建现代的 Java 应用程序,减少了很多传统 Spring 框架配置的复杂性。

Spring Boot 的主要特点包括:

1. 自动配置:Spring Boot 提供了许多默认配置,因此您可以快速启动应用程序,而无需手动配置大量选项。这些配置根据您的项目中所使用的依赖库自动应用。

2. 内嵌式Web服务器:Spring Boot 内置了多个 Web 服务器(如Tomcat、Jetty、Undertow),使您能够轻松创建自包含的 Web 应用程序,而无需部署到外部的 Web 容器。

3. 生产就绪:Spring Boot 提供了用于监控、管理和部署应用程序的各种功能,包括健康检查、远程配置、度量、日志记录等。

4. 简化的依赖管理:Spring Boot 通过 Starter 模块简化了 Maven 或 Gradle 构建文件中的依赖管理,让您更轻松地集成各种技术和库。

5. 集成测试:Spring Boot 支持集成测试,使开发者能够方便地编写测试用例来验证应用程序的功能。

Spring Boot 的目标是让开发者更加专注于应用程序的业务逻辑,而不是花费太多时间配置和集成各种框架和库。它广泛用于构建Web应用程序、RESTful服务、微服务架构等各种类型的Java应用程序。

总的来说,Spring Boot 内置了 Web 有关的内容,帮助开发者们轻松地构建 Web 应用程序,而无需过多的配置和代码。

在这里不过多赘述,如果你想了解更多有关 Spring Boot 的内容,请参考如下链接:

Spring Boot 中文文档:这是一个非官方的中文文档,包含了 Spring Boot 的基本概念、使用方法、配置属性、常见问题等。

【知乎】什么是springboot?:这是一个知乎专栏的文章,介绍了 Spring Boot 的由来、特性、优势和与 Spring 的关系等。

2. 为什么选择 Spring Boot

最受 Java 开发者喜好的框架当属 Spring,Spring 也成为了在 Java EE 开发中真正意义上的标准,但是随着新技术的发展,脚本语言大行其道的时代(Node JS,Ruby,Groovy,Scala等),Java EE 使用 Spring 逐渐变得笨重起来,大量的 XML 文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,低下的开发效率和部署效率等等问题。

这些问题在不断的社区反馈下,Spring 团队也开发出了相应的框架:Spring Boot。Spring Boot 可以说是至少近 5 年来 Spring 乃至整个 Java 社区最有影响力的项目之一,也被人看作是:Java EE开发的颠覆者!

Spring Boot 继承了 Spring 的优点,并新增了一些新功能和特性:

1. 它遵循“约定优于配置”的原则,减少了繁琐的 XML 配置,提供了一系列的 starter 依赖,可以快速集成常用的框架和组件。有时候我们只需要使用默认配置即可。
2. 它内嵌了 Servlet 容器,降低了对环境的要求,这下可以直接用 java -jar xxx.jar 来启动了。
3. 它自动配置了 Spring 的各种功能和组件,根据项目中的类路径的 jar 包/类,为 jar 包的类进行自动配置 Bean。

3. Spring Boot 的 “拓展”

除了这些基础内容外,还有许多与 Spring Boot 集成的开源框架和库,用于不同的用途。

Spring Boot 提供了许多可选组件和库,以帮助开发者构建各种类型的应用程序。以下是一些常见的Spring Boot组件和库:

模块/库主要功能
Spring Web构建Web应用程序和RESTful服务,包括控制器、视图解析、请求映射等功能
Spring Data简化数据访问和数据库集成,包括Spring Data JPA、Spring Data MongoDB等
Spring Security提供身份验证和授权的安全框架,可轻松集成到Spring Boot应用程序中
ThymeleafJava模板引擎,用于构建Web应用程序的前端视图层
MyBatis持久性框架,用于与数据库进行交互
Spring Boot Actuator监控和管理Spring Boot应用程序的组件,包括健康检查、远程配置、日志记录等
Spring Boot DevTools提高开发效率的工具,包括热部署、自动重启等
Spring Boot Test用于编写集成测试和单元测试的支持库
Spring Boot Data Redis与Redis数据库进行集成的库
Spring Boot Data Solr与Apache Solr搜索引擎进行集成的库
Spring Boot Data Elasticsearch与Elasticsearch搜索引擎进行集成的库
Spring Boot Data Cassandra与Apache Cassandra NoSQL数据库进行集成的库
Spring Boot Websocket支持WebSocket通信的库
Spring Boot Cloud用于构建微服务架构的库,包括Spring Cloud Config、Spring Cloud Eureka、Spring Cloud Zuul等

这些组件和库可以根据您的项目需求进行选择和集成,以简化开发和提供所需的功能。 Spring Boot的目标是让开发者更轻松地构建现代Java应用程序,同时提供了许多现成的工具和解决方案来减少开发工作。

二、开始

1. 使用 IDEA 快速创建项目

IDEA,启动!

使用 IDEA 专业版内置的 Spring Initializr 来创建 Spring Boot 工程。

* 类型请选择 Maven

点击下一步后,IDEA 为列出一些常见的依赖项,一般来说只需要导入四个即可:Lombok(快速注解处理器)、Spring Web(web 所需的内容)、JDBC API(与数据库连接的 API)、MySQL Driver(MySQL 数据库驱动)。

点击创建后,IDEA 会为你自动配置项目。

2. 常见的项目结构说明

待创建完项目后,默认的结构是这样的:

其中,DemoApplication(类名会自动处理为 “[项目名字]+Application”,不建议更改,不然会乱)即是你的 main 位置,启动项目时从这里开始运行。

Spring Boot 项目通常遵循一种标准的项目结构,这有助于组织和管理项目代码。

src/main/java:这个目录包含 Java 源代码文件,通常是项目的主要代码部分。你的应用程序的主要业务逻辑和 Spring 组件都在这里

src/main/resources:该目录包含应用程序的配置文件、静态资源文件、模板文件等常见的内容包括 application.properties 或 application.yml 配置文件、HTML 模板文件、静态 CSS 和 JavaScript 文件等。

        src/main/resources/static:如果你的应用程序包含静态资源(如 CSS、JavaScript 文件),这个目录通常用于存放这些文件。

        src/main/resources/templates:如果你使用模板引擎(如 Thymeleaf)来构建视图层,这个目录通常包含模板文件

        src/main/resources/application.properties 或 application.yml:这是应用程序的配置文件,包含各种配置属性,如数据库连接、端口号、日志级别等。

        src/main/resources/application-{profile}.properties 或 application-{profile}.yml:针对不同的部署环境或配置文件,你可以创建不同的配置文件,其中{profile}表示不同的配置文件名称,如 application-dev.properties、application-prod.yml 等。

        src/main/resources/static:这是存放静态资源文件(如 CSS、JavaScript、图片)的目录,这些文件可以被浏览器直接访问

        src/main/resources/templates:如果你使用模板引擎(如 Thymeleaf)来创建视图层,这个目录通常包含 HTML 模板文件

src/test:这是测试代码的根目录通常分为以下两个子目录:
    src/test/java:包含单元测试和集成测试的 Java 源代码文件。
    src/test/resources:包含测试相关的配置文件、测试数据等。

target:这是构建工具(如 Maven 或 Gradle)生成的编译输出目录包括编译的.class 文件、打包的 JAR 文件等。

pom.xml(Maven 项目)或 build.gradle(Gradle 项目):这些文件是项目构建工具的配置文件,定义了项目的依赖、插件和其他构建设置。

这个标准的项目结构有助于项目的组织和维护,使开发人员能够快速找到代码和资源文件,同时也符合 Spring Boot 的最佳实践。

3. 常见的包和模块

在 Spring Boot 项目中,main 应用程序的项目结构通常包括一些常见的包和模块,如控制器、服务、数据访问对象(DAO)、实体等。

在 com.example.demo 右击选择新建 -> 软件包。

包/模块主要功能
controller包含控制器类,用于处理 HTTP 请求和请求映射
service包含服务类,实现业务逻辑
mapper(或 dao)包含数据访问对象(DAO)或存储库接口,用于与数据库或其他数据源交互
entity包含实体类,用于表示数据模型
config包含应用程序配置类,配置 Spring、数据库、安全等
utils包含实用工具类,用于处理通用功能和辅助方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值