SpringBoot
概述
全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程
起步依赖
利用依赖传递自动引入其所依赖的其他库,包括properties和dependencies
开发流程
idea中创建
- 模板选Spring Initializr,java选8,type选maven
- 选择技术集(相当于spring中的在pom中添加坐标):勾选spring web,选用的springboot版本是2.7.14,如果使用3.1.2会报错版本不兼容
- 开发controller,下面四个可删
maven中的pom.xml在spring initilizr中变成了build.gradle
在官网中创建
- 进入spring官网,点击project的springboot
- 拉到下面点击quickstart
- 工程选项如下:
- 选择技术集
- 最后generator
项目快速启动
便于前后端分离
- 在lifecycle中执行package命令
- 在target中右键选择打包好的jar包在文件夹中打开
- 在文件夹目录进入cmd,键入java -jar [文件名]即可运行
jar支持命令行启动需要依赖maven插件支持,请确认打包时是否具有SpringBoot对应的maven插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>springbootmavenplugin</artifactId>
</plugin>
</plugins>
</build>
变更起步依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 在web起步依赖中排除Tomcat起步依赖 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 添加Jetty起步依赖,版本由SpringBoot的starter控制 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
</dependencies>
配置文件
配置格式
-
修改服务器端口
- 在resorces中的application.properties中修改
- aplication.yml或者aplication.ymal(
.yml
后缀的文件是 YAML 格式的文件,用于存储配置信息)
主要用.yml的,生效优先级:.properties>.yml>.yaml
yml格式
一种数据序列化格式
以数据为核心,重数据轻格式
语法规则
- 大小写敏感
- 属性层级关系使用多行描述,每行结尾使用冒号结束
- 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格( 不允许使用Tab键)
- 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
#
:表示注释
数据读取方式
- 直接读取:使用@value读取
- 封装全部数据到Environment,并使用@Autowire自动装配,用environment.getProperty()方法读取
- (常用)使用spring进行依赖注入和属性绑定
多环境开发配置
使用yml
-
生产环境
URL: jdbc:mysql://127.0.0.1:4092/ccb__sVms User: root Password: root
-
开发环境
URL: jdbc:mysql://21.49.27.66:4092/ccb_sVms User: ccb_admin_test Password: noBUGnoBugnoBUG
-
测试环境
URL: jdbc:mysql://21.49.35.241:3306/ccb User: ccb_admin Password: 8Fm#_!@aSdm93]4k
设置启用的环境
spring:
profiles:
active: dev
使用properties
-
在resources目录下,创建以下配置文件:
application-dev.properties
:开发环境配置application-prod.properties
:生产环境配置
-
在
application.properties
或application.yml
中设置spring.profiles.active
属性来指定要激活的配置文件。例如
spring.profiles.active=dev
兼容问题
-
maven的pom.xml中设置多环境属性:
<profiles> <profile> <id>dev_env</id> <properties> <profile.active>dev</profile.active> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>pro_env</id> <properties> <profile.active>pro</profile.active> </properties> </profile> <profile> <id>test_env</id> <properties> <profile.active>test</profile.active> </properties> </profile> </profiles>
-
Spring Boot中引用Maven属性
spring: profiles: active: ${profile.active} --- spring: profiles: pro server: port: 80 --- spring: profiles: dev server: port: 81 --- spring: profiles: test server: port: 82
-
执行maven打包指令,解析${}占位符
配置占位符解析插件:将项目中的资源文件复制到构建输出目录(
target
目录),根据配置中的设置进行处理<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.2.0</version> <configuration> <encoding>UTF-8</encoding> <useDefaultDelimiters>true</useDefaultDelimiters> </configuration> </plugin>
配置文件分类
多级配置文件
4级配置文件
- 1级: file :
config/application.yml
[最高] - 2级: file :
application.yml
- 3级: classpath :
config/application.yml
- 4级: classpath :
application.yml
[最低]
作用
- 1级与2级:用于系统打包后设置通用属性
- 3级与4级:用于系统开发阶段设置通用属性
- 文件路径file:
- 类路径classpath:
整合
junit整合
测试类注解@SpringBootTest
- SpringbootTestApplication(被
@SpringBootTest
注解标注的类)会自动加载同层包下的带有@SpringBootConfiguration的文件的配置信息 - 若不同层,则可以在注解中指定SpringBoot启动类
@SpringBootTest(classes = Springboot07TestApplication.class)
ssm整合
ssm:Spring、SpringMVC和MyBatis,主要是整合mybatis
-
起步依赖:
-
完善程序
-
写配置文件application.yml
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/ssm_db username: root password: root
-
给dao类加上注解@Mapper
2.4.2的springboot版本配合8以上的mysql驱动,要在url连接串中配置时区
案例
- 起步依赖,加上spring web,MyBatis Framework和MySQL Driver
- 加入项目主体层次(dao,domain等)和测试类
- 在pom.xml中加入必要的依赖坐标
- 删掉config文件夹,在mapper类(dao层)文件中加上@mapper
- 配置数据源相关信息
- 给测试类加上@SpringBootTest注解
- 页面文件放在resources中的static(静态资源)中
- 写index.html
- 启动:如果启动后idea没有services窗口,点击下图选择spring boot
目主体层次(dao,domain等)和测试类 - 在pom.xml中加入必要的依赖坐标
- 删掉config文件夹,在mapper类(dao层)文件中加上@mapper
- 配置数据源相关信息
- 给测试类加上@SpringBootTest注解
- 页面文件放在resources中的static(静态资源)中
- 写index.html[外链图片转存中…(img-vvP89JaI-1695122860465)]
- 启动:如果启动后idea没有services窗口,点击下图选择spring boot[外链图片转存中…(img-6RpOC2nU-1695122860465)]