七、SpringBoot从入门到精通

news/2024/11/8 14:59:18/

一、SpringBoot概述

Spring Boot是一个基于Spring框架的开发框架,用于快速构建能够立即运行的生产级Spring应用程序。它是Spring的一个子项目,致力于使Spring开发更加简单、快速和便捷。

二、SpringBoot基础程序

1、点击Spring Initializer,初始化一个SpringBoot项目
在这里插入图片描述

2、选择SpringBoot版本,并添加Spring Web
在这里插入图片描述
3、编写controller层

@RestController
public class HelloController {@RequestMapping("/hello")public String sayhello(){return "hello SpringBoot";}
}

4、测试http://localhost:8080/hello
在这里插入图片描述

三、yaml配置注入

SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的

application.properties

语法结构 :key=value

application.yml

语法结构 :key:空格 value
配置文件的作用 :修改SpringBoot自动配置的默认值
yaml语法要求严格:
1、空格不能省略
2、以缩进来控制层级关系,只要是左边对齐的一列数据都是同一个层级的。
3、属性和值的大小写都是十分敏感的。

1、修改SpringBoot的默认端口号

server:port: 8082

2、注入配置文件
yaml文件可以给实体类直接注入匹配值

导入依赖

        <!-- 导入配置文件处理器,配置文件进行绑定就会有提示,需要重启 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>

编写实体类


@Component //注册bean
@ConfigurationProperties(prefix = "dog")
public class Dog {private String name;private Integer age;public Dog() {}public Dog(String name, Integer age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}}

编写yaml文件

dog:name: 旺财age: 5

四、JSR303数据校验

Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。
例如

@Component //注册bean
@ConfigurationProperties(prefix = "dog")
@Validated  //数据校验
public class Dog{@NotNull(message="名字不能为空")private String userName;@Max(value=120,message="年龄最大不能查过120")private int age;@Email(message="邮箱格式错误")private String email;
}

五、整合JDBC

即使不使用第三方第数据库操作框架,如 MyBatis等,Spring 本身也对原生的JDBC 做了轻量级的封装,即JdbcTemplate。数据库操作的所有 CRUD 方法都在 JdbcTemplate 中。


http://www.ppmy.cn/news/83235.html

相关文章

博客系统的后端设计(八) - 实现发布博客功能

文章目录 发布博客1. 约定前后端交互接口2. 服务器代码3. 客户端代码4. 出现的问题 发布博客 在原来的编辑页面点击发布文章按钮&#xff0c;是不会有什么效果的。 这是因为此时还不能实现前后端的交互。 1. 约定前后端交互接口 请求使用 POST&#xff0c;路径是 /blog title这…

大数据治理入门系列:数据血缘关系

血缘关系在人类社会中扮演着重要角色。大多数家庭是基于血缘关系形成的&#xff0c;而家庭作为社会的基本单元&#xff0c;对维系社会稳定发挥着重要关系。其实&#xff0c;数据之间也存在类似的血缘关系。数据从产生、加工、流转&#xff0c;一直到消亡&#xff0c;每个环节必…

【SpringMVC】| SpringMVC拦截器

目录 一&#xff1a;SpringMVC拦截器 1. 拦截器介绍 2. HandlerInterceptor接口分析 3. 自定义拦截器实现权限验证 一&#xff1a;SpringMVC拦截器 SpringMVC 中的 Interceptor 拦截器&#xff0c;它的主要作用是拦截指定的用户请求&#xff0c;并进行相应的预处理与后处理…

Spring Security 如何实现身份认证和授权?

Spring Security 是一个开源的安全框架&#xff0c;提供了基于权限的访问控制、身份认证、安全性事件发布等功能。在 Spring Boot 应用中使用 Spring Security 可以非常方便地实现用户身份认证和授权。 Spring Security 实现身份认证的主要方式是使用认证过滤器链&#xff0c;…

MySQL数据库中,在读已提交和可重复读这两个不同事务隔离级别下幻读的区别

目 录 1. 前 言1.1 并发事务存在的问题1.2 事务的隔离级别1.3 快照读和当前读 2. 不同事务隔离级别下幻读的区别2.1 读已提交下的幻读2.2 可重复读下的幻读2.2.1 情况一&#xff0c;无幻读2.2.2 情况二&#xff0c;有幻读2.2.3 情况三&#xff0c;有幻读 3. 小 结 1. 前 言 在…

基于 Prometheus 的 SLO告警实战

Prometheus是一个流行的开源监控系统&#xff0c;它可以帮助我们收集、存储和查询应用程序或系统的时间序列数据。在使用Prometheus进行监控时&#xff0c;通常需要根据服务水平指标&#xff08;Service Level Objectives&#xff0c;简称SLO&#xff09;来设置告警规则。 SLO…

linux学习[11]磁盘与文件系统(2):lsblkblkidpartedfdiskgdiskmkfs

文章目录 前言&#xff1a;1. 磁盘容量1.1 lsblk1.2 blkid1.3 parted 2. 磁盘分区2.1 fdisk/gdisk2.2 磁盘分区实例参考&#xff1a; 3. 磁盘格式化3.1 mkfs.xfs3.2 mkfs.ext43.3 mkfs.vfat 总结&#xff1a; 前言&#xff1a; 写了VMware的磁盘扩容之后&#xff0c;磁盘分区格…

标签派单系统架构设计

需求描述 项目背景 根据员工历史成单情况&#xff0c;计算员工对不同类型工单的转化能力。根据员工和工单标签匹配进行派单。 业务流程图 规则描述 每10分钟&#xff0c;分城进行一次派单&#xff0c;派单规则可能会动态删减&#xff0c;需要支持动态配置 工单标签说明 一…