SpringBoot核心原理与实践

第一章、SpringBoot简介

1、入门案例

2、官网创建压缩包程序

注意使用的版本pom文件中java --> 1.8、 springboot --> 2.5.0

3、SpringBoot快速启动

运行程序--找引导类

换技术、加技术--加starter

第二章、基础配置

1、配置文件格式

《1、端口号配置》

《2、将目录文件添加到配置文件识别中》

配置文件加载顺序:application.properties > application.yml > application.yaml

 

2、yaml

《1、语法格式》

语法规则:------------一般根据他的语法提示就好了-----------

缩进空格多少表示层级关系;数据前面要有空格

logging:level:root: warn

数组数据

《2、数据读取三方式》

1、直接读取----直接定义Value及变量

    @Value("${server.port}")private int port;@Value("${enterprise.subject[1]}")private String subject__01;

2、封装对象读取----定义对象获取数据

将所有数据都加载到对象中,使用属性来获取数据

 @Autowiredprivate Environment environment; //使用独立的对象。将所有数据加载进去,直接使用对象来读取具体的数据@GetMapping("{id}")public String getId(@PathVariable Integer id) {System.out.println("id---->" + id);System.out.println(environment.getProperty("lession"));System.out.println(environment.getProperty("server.port"));System.out.println(environment.getProperty("enterprise.subject[2]"));return "{'module':'kaonijiwa'}";}

 

3、封装实体类读取----定义实体类获取数据  --将数据转换为数据对象

针对数据定义实体类

@Component//加载为bean让spring识别
@ConfigurationProperties(prefix = "enterprise") //从配置文件中获取属性 使之与本实体类属性对应
public class Enterprise {private String name;private Integer age;private String tel;private String[] subject;//接下来还要setter & getter

直接自动装配 获取实体类对象

 @Autowiredprivate Enterprise enterprise;

对象打印即可获取数据

3、多环境启动

注意:

1、package之前先从clean!

2、设置中encoding全部设置为utf-8

《1、yaml配置》

#三个横线 --- 代表一个文件
#设置启用的环境
spring:profiles:active: test
---#开发
spring:profiles: dev
server:port: 90---
#生产
spring:profiles: pro
server:port: 91---#测试
spring:profiles: test
server:port: 92

文件配置(麻烦--了解)

《2、多环境命令行启动参数设置》

按照指定环境启动    开发--dev 、 生产--pro 、 测试--test

格式:
java - jar jar包名 --spring.profiles.active=启动参数
举例:
java -jar /Users/wangjia/Desktop/CS/Spring/SpringBoot/target/springboot_01-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev 

指定端口号:  跟在后面写就行了

--server.port=xxx

命令行优先级高于配置文件。

所以可以使用命令行设置参数临时覆盖配置参数。

《3、多环境开发兼容问题》

maven、SpringBoot均要设置多环境。以maven为主,SpringBoot配置为辅。

 

3、clean -> package

4、配置文件分类

第三章、整合第三方技术

1、SpringBoot整合JUnit

对于设置运行器、加载环境,每一次都是一样的,只有环境名称不一样,所以直接使用

@SpringBootTest代替二者。

@SpringBootTest //= 运行器@RunWith() + 加载启动类
//此处没有再设置启动类 是因为 测试类在启动类SpringBootApplication.class的包或者子包内
class Springboot01ApplicationTests {@Autowiredprivate BookService bookService;//自动装配测试类对象@Testpublic void save(){bookService.save();}
}
//其他的都不需要设置了

2、SpringBoot整合Mybatis

前置知识:

 

----在创建新模块或项目要勾选SQL、Mybatis

《1、写实体类》

domain.Book

public class Book {private Integer id;private String name;private String type;public String toString() {}getter & setter}

《2、写数据层注解开发》

没有实体对象,在采用自动代理时要使用@Mapper标示--定义数据层接口

dao.XXXDao

@Mapper //只有一个接口,在测试时没有对象。采用了自动代理,要标注一下!public interface BookDao {@Select("select * from tbl_book where id = #{id}")public Book getById(Integer id);
}

《3、写数据库登录信息配置文件》

在文件application.yml中写配置

spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_dbusername: rootpassword: wbj731290type: com.alibaba.druid.pool.DruidDataSource
#指定druid数据源 同时记得pom要添加坐标依赖

3、SpringBoot整合SSM

基本点:

--config文件夹下所有配置类都不需要了

--Dao层自动代理,要添加@Mapper

--数据库登录信息要写在yml文件中

--由于是整合了前后端 web 要选、Mybatis要选、mysql要选

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/119209.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DOCKER 部署 webman项目

# 设置基础镜像 FROM php:8.2-fpm# 安装必要的软件包和依赖项 RUN apt-get update && apt-get install -y \nginx \libzip-dev \libpng-dev \libjpeg-dev \libfreetype6-dev \&& rm -rf /var/lib/apt/lists/*# 安装 PHP 扩展 RUN docker-php-ext-configure gd …

leetcode 84. 柱状图中最大的矩形

2023.8.30 本题和接雨水 有点类似&#xff0c;依旧用双指针来解。但是本题要记录的是当前柱子 左右两侧第一个小于该柱子的索引。将其保存在两个数组中&#xff0c;最后再求最大面积。代码如下&#xff1a; class Solution { public:int largestRectangleArea(vector<int&g…

STM32f103入门(10)ADC模数转换器

ADC模数转换器 ADC简介AD单通道初始化代码编写第一步开启时钟第二步 RCCCLK分频 6分频 72M/612M第三步 配置GPIO 配置为AIN状态第四步&#xff0c;选择规则组的输入通道第五步 用结构体 初始化ADC第六步 对ADC进行校准编写获取电压函数初始化代码如下 Main函数编写 ADC简介 ADC…

AcWing 4405. 统计子矩阵(每日一题)

如果你觉得这篇题解对你有用&#xff0c;可以点点关注再走呗~ 题目描述 给定一个 NM 的矩阵 A&#xff0c;请你统计有多少个子矩阵 (最小 11&#xff0c;最大 NM) 满足子矩阵中所有数的和不超过给定的整数 K ? 输入格式 第一行包含三个整数 N,M 和 K。 之后 N 行每行包含 …

软件过程模型

软件过程模型 软件过程模型习惯上称为软件开发模型&#xff0c;它是软件开发全部过程、活动和任务的结构框架。典型的软件过程有瀑布模型、增量模型、演化模型&#xff08;原型模型、螺旋模型&#xff09;、喷泉模型、基于构件的开发模型和形式化方法模型等。 1. 瀑布模型 瀑…

DRM全解析 —— ADD_FB(2)

接前一篇文章&#xff1a;DRM全解析 —— ADD_FB&#xff08;1&#xff09; 本文参考以下博文&#xff1a; DRM驱动&#xff08;四&#xff09;之ADD_FB 特此致谢&#xff01; 上一回围绕libdrm与DRM在Linux内核中的接口&#xff1a; DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB, d…

抽象轻松c语言

目 c语言 c程序 c语言的核心在于语言&#xff0c;语言的作用是进行沟通&#xff0c;人与人之间的信息交换 人与人之间的信息交换是会有信息空白&#xff08;A表达信息&#xff0c;B接受信息&#xff0c;B对信息的处理会与A所以表达的信息具有差距&#xff0c;这段差距称为信…

同步与互斥

硬件指令 实现互斥&#xff1a;硬件指令&#xff0c;硬件实现的原子操作&#xff0c;不会被打断 tsl指令和xchg指令 当前指令执行完&#xff0c;才会检测中断 If the signal comes while an instruction is being executed, it is held until the execution of the instructi…

使用SpaceDesk连接平板作为电脑副屏详细步骤教程

文章目录 下载安装PC端安装安卓端安装 配置步骤PC端安卓端 连接 SpaceDesk官网链接https://www.spacedesk.net/ (应该是需要科学上网才能进入) SpaceDesk它可以连接安卓,苹果的平板,手机等&#xff0c;也可以连接其他可以打开网页&#xff08;HTML5&#xff09;的设备。 这里我…

JDK8安装及系统变量配置(包含错误处理)

jdk安装 一.下载JDK二.安装三.配置系统变量四.可能遇到的问题1.显示已经安装的问题 或者 读取注册表项值失败2.原因3.解决 五.验证安装成功 一.下载JDK JDK下载官网 二.安装 双击之后&#xff0c;一直下一步就ok 三.配置系统变量 1.找到配置系统变量的地方 2.配置系统变…

千纸鹤APP云验证系统源码 APK注入引流弹窗

千纸鹤APP云验证系统是一款全面的验证系统&#xff0c;包括网络验证、APK注入、注册机、引流弹窗、更新弹窗等功能。该系统提供完整的源代码&#xff0c;方便开发者二次开发和定制化需求。 可以对用户进行多种验证&#xff0c;包括账号密码验证、短信验证码验证等。该系统还提供…

设计模式-原则篇-01.开闭原则

简介 ​ 可以把设计模式理解为一套比较成熟并且成体系的建筑图纸&#xff0c;经过多次编码检验目前看来使用效果还不错的软件设计方案。适用的场景也比较广泛&#xff0c;在使用具体的设计模式之前先要学习软件设计的基础 “软件设计原则”&#xff0c;后面的23个设计模式都是…

干翻Dubbo系列第十四篇:Dubbo协议基于SpringBoot规范化开发

文章目录 文章说明 一&#xff1a;版本控制 二&#xff1a;共有依赖声明于父项目 三&#xff1a;创建共有API 1&#xff1a;定义公共接口 2&#xff1a;定义Bean 四&#xff1a;创建Provider 1&#xff1a;引入公共API 2&#xff1a;创建实现类 3&#xff1a;定义启动…

行业追踪,2023-08-30

自动复盘 2023-08-30 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

【工作笔记-0038】mongodb mongorestore 命令行导入 bson.gz数据

1. 导出的集合文件格式如下&#xff08;也就是导出的表文件&#xff09;&#xff1a; 例如&#xff1a; D:\Files\xxxx集合名称.bson.gz 怎样导出&#xff0c;这里不做介绍&#xff0c;用 mongodb compass 或者 studio 3t 都可以 2. 下载命令行导入工具&#xff1a; 官方…

websocket基础

下面就以代码来进行说明 1&#xff0c;先导入websocket依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency> 2.编写websocket相关bean管理配置 Config…

ISO/IEC/ITU标准如何快速查找(三十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

系统虚拟机(VM)

系统虚拟机&#xff1a;将一台物理机器虚拟化为多台虚拟机&#xff0c;每个虚拟机上都可以运行一个独立的操作系统&#xff0c;由虚拟机管理程序(VMM)来管理。 第一种直接运行在硬件上&#xff0c;可以直接分配物理资源&#xff0c;性能更好&#xff0c;可支持更多的虚拟机&am…

攻防世界-Broadcast

原题 解题思路 原以为要运行py文件&#xff0c;结果打开就有