当前位置:网站首页 > Java教程 > 正文

java教程springboot



Spring Boot 是一个基于 Spring 的框架,旨在简化 Spring 应用的配置和开发过程,通过自动配置和约定大于配置的原则,使开发者能够快速搭建独立、生产级别的应用程序。

本文将带你了解 Spring Boot 的核心内容,从基本的项目创建开始,内容包括了:应用配置、Thymeleaf 视图配置、Spring Security 配置、持久层配置、Web 层 Controller 配置以及异常处理和测试。

首先,使用 Spring Initializr 生成基础项目。

生成的项目依赖于 Spring Boot Parent 项目:

初始依赖非常简单:

创建 Main Application 类:

这里使用的是 注解,这相当于同时使用了 、 和 注解。

最后,定义一个简单的 文件,该文件目前只有一个属性:

将服务器端口从默认的 8080 改为 8081。更多的可配置属性,可以参阅 中文文档。

使用 Thymeleaf 添加一个简单的 HTML 前端页面。

首先,需要在 中添加 依赖:

这将默认启用 Thymeleaf。无需额外配置。

也可以在 中对其进行配置:

接下来,定义一个简单的 Controller 和一个基本主页:

如下:

在 Controller 中注入了 properties 中定义的属性,然后渲染在主页上。

接下来,为应用添加安全配置,首先添加 Security Starter:

你可能已经注意到了,只需要简单的导入 依赖,Spring Boot 就会依据约定自动进行配置。

一旦在应用的 classpath 上添加了 依赖,所有端点都会根据 Spring Security 的内容协商策略使用 httpBasicformLogin 进行默认安全保护。

通常,需要自定义安全配置:

如上,该配置允许任何请求不受限制地访问所有端点。

当然,Spring Security 是一个广泛的主题,不是几行配置就能轻易涵盖的。因此,推荐你阅读 Spring Security 中文文档。

首先定义一个 实体类:

然后后是实体类对应的 Repository,这里使用了 Spring Data:

最后,需要配置持久层:

  • 指定 Repository 接口所在包。
  • 指定 JPA 实体所在的包。

为了简单,在这里使用的是 H2 内存数据库。这样运行项目时就不会有任何外部第三方依赖。

把 H2 依赖添加到项目后,Spring Boot 就会自动检测并配置,除了数据源属性外,无需额外配置:

当然,就像 Spring Security 一样,持久层也是一个比这里的基本内容更广泛的话题,推荐你阅读 Spring Data Jpa 中文文档。

首先创建一个简单的 Controller:。

使用一些简单的验证来实现对 资源的基本 CRUD 操作。

由于这是一个 API 应用,所以在这里使用了 注解(相当于 和 ),这样每个方法都能将返回的资源直接编码为 HTTP 响应。

如上,Controller 直接将 实体作为资源公开,这对于简单的应用来说没有问题,但在实际应用中,可能需要把实体类转换为其他的 POJO 对象。

使用 来统一处理错误和异常:

除了处理标准异常外,还使用了一个自定义异常 - :

注意,Spring Boot 默认也提供了 映射。我们可以通过创建一个简单的 来自定义其视图:

可以通过一个简单的属性来控制它:

最后,来测试一下 Book API。

使用 来加载 Application Context,并验证运行应用时是否出现异常:

接下来,添加一个 JUnit 测试,使用 REST Assured 来验证 API 的调用。

首先,添加 依赖:

现在,可以添加测试了:

首先,尝试使检索 Book:

接着,创建 Book:

然后,更新 Book:

最后,删除 Book:

本文是对 Spring Boot 快速而全面的介绍。

当然,我们只是触及了皮毛。这个框架的内容远非一篇介绍文章所能涵盖。所以,推荐你阅读 Spring Boot 中文文档。


Ref:

版权声明


相关文章:

  • java链接标签教程2025-01-15 20:42:05
  • worldwind java 教程2025-01-15 20:42:05
  • 30个java教程2025-01-15 20:42:05
  • 多态java教程2025-01-15 20:42:05
  • redis视频教程java2025-01-15 20:42:05
  • java大学实用教程pdf2025-01-15 20:42:05
  • java图形编辑教程2025-01-15 20:42:05
  • 屠夫乐事java教程2025-01-15 20:42:05
  • java集合教程2025-01-15 20:42:05
  • java webapp开发教程2025-01-15 20:42:05