Spring Boot 简介
简介
1.什么是Spring Boot?
Spring是新一代JavaEE开发标准 为我们提供了便捷的开发方式
Spring Boot就是Spring开源框架下的子项目,是Spring的一站式解决方案,主要是简化了Spring的使用难度,降低了对配置文件的要求,使得开发人员能够更容易得上手。
2.为什么使用Spring Boot?
SpringBoot有很多得优点
- 1.简化了Spring配置文件,
- 2.没有代码和XML文件的生成
- 3.内置TomCat
- 4.能够独立运行
- 5.简化监控
- n.等等
快速开始
使用IDEA快速创建项目
- 打开IDEA工具选择新建项目
- 选择 Springinitialzr 快速创建SpringBoot应用程序
- 创建过程可能较慢 具体看网络
- 填写创建项目的相关信息
- groupId 你公司的域名反转
- artifactId 你的项目名字
- version 项目的版本号 1.0.0 或者 0.0.1都可以
- description 项目的描述
- package 包名
- 填写完成点击Next => finish 稍等片刻
- 第一次创建可能需要较长时间
- 等下边加载完即可查看左侧完整的项目结构
- 这个 xxxxApplication.java 是SpringBoot应用程序的主类
8. 在里边添加以下代码
package cn.yufire.springbootdemo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class SpringbootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemoApplication.class, args);
}
@GetMapping("/hello")
public String helloSpringBoot(){
return "hello, world";
}
}
- 点击右上角的启动或者项目类名左边的启动按钮
- 控制台输出
- 打开浏览器访问
localhost:8080/hello
项目创建完成后的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--SpringBoot父依赖 版本号都在里边-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<!--SpringBoot的版本-->
<version>2.2.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--组织ID 一般是你的域名 或你公司的域名 反转-->
<groupId>cn.yufire</groupId>
<!--项目名称-->
<artifactId>springboot-demo</artifactId>
<!--项目的版本号-->
<version>1.0.0-SNAPSHOT</version>
<!--项目名称-->
<name>springboot-demo</name>
<!--项目的描述-->
<description>Demo project for Spring Boot</description>
<!--java版本-->
<properties>
<java.version>1.8</java.version>
</properties>
<!--所有的Maven依赖-->
<dependencies>
<!--Spring-boot-starter-Web模块的依赖 实现Web的主要模块-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--Spring-Boot的测试模块-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!--使用Maven插件进行构建项目-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
娱乐Banner.txt 没什么卵用
Banner.txt的作用:
- 1.可以在Spring Boot项目启动时候显示一些东西
- 1.1.SpringBoot的版本信息
- 1.2.可以显示一个自定义的字符画 自定义Banner
- 1.3.等等
${AnsiColor.BRIGHT_RED}
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
-----版本号-----${spring-boot.version}
SpringBoot配置文件优先级
- 项目根路径下的config目录下的 /config/application.* 优先级最高
- 项目根路径下 /application.* 优先级第二
- 项目的resources目录下的config目录下的 /src/main/resources/config/application.* 优先级第三
- 项目的resources目录下的 /src/main/resources/application.* 优先级最低
JSR303数据校验
用户在前端页面上填写表单时,前端js程序会校验参数的合法性
当数据到了后端,为了防止恶意操作,保持程序的健壮性
后端同样需要对数据进行校验
JSR303
是一套JavaBean参数校验的标准,定义了很多常用的校验注解
可以直接将这些注解加在我们JavaBean的属性上面
就可以在需要校验的时候进行校验了
- 首先在需要校验的JavaBean上添加 注解
@Validated //JSR-303校验
- 在需要校验的属性身上添加注解
2.1 JSR303的常用注解 JSR303的常用注解地址
@NotNull(message = "姓名不能为空")
private String name;
@Min(value = 0 ,message = "年龄不能小于0岁")
private Integer age;
- 修改yml中的配置 把其中的name属性设置为空
- 测试 结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-znEwIdD6-1588560141805)(BB9FD67E0FEB464491C7DFEBC1903D22)]
排除某个特定的配置
在SpringBoot启动类里边的配置上添加
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
Spring Boot的常用配置
server
port: 8080 # 配置Tomcat启动端口
servlet:
context-path: /boot #配置上下文 就是在访问地址前加上这个字符串