当前位置: 首页 > news >正文

最全面的SpringBoot教程(五)——整合框架

前言

在这里插入图片描述

本文为 最全面的SpringBoot教程(五)——整合框架 相关知识,下边将对SpringBoot整合JunitSpringBoot整合MybatisSpringBoot整合Redis等进行详尽介绍~

📌博主主页:小新要变强 的主页
👉Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~
👉算法刷题路线可参考:算法刷题路线总结与相关资料分享,内含最详尽的算法刷题路线指南及相关资料分享~
👉Java微服务开源项目可参考:企业级Java微服务开源项目(开源框架,用于学习、毕设、公司项目、私活等,减少开发工作,让您只关注业务!)


目录

最全面的SpringBoot教程(五)——整合框架

  • 前言
  • 目录
  • 一、SpringBoot整合Junit
  • 二、SpringBoot整合Mybatis
  • 三、SpringBoot整合Redis
  • 后记

在这里插入图片描述

一、SpringBoot整合Junit

🍀(1)搭建SpringBoot工程 springboot-test,不用任何起步依赖

🍀(2)引入starter-test起步依赖

pom.xml:

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

🍀(3)编写service:com.wang.springboottest

@Service 
public class UserService { public void add() { System.out.println("add..........."); } 
}

🍀(4)编写测试类: com.wang.springboottest

@SpringBootTest
@RunWith(SpringRunner.class)
public class UserServiceTest {@AutowiredUserService userService;@Testpublic void testAdd() {userService.add();}
}

🍀(5)测试

二、SpringBoot整合Mybatis

🍀(1)搭建SpringBoot工程 springboot-mybatis

🍀(2)引入mybatis起步依赖,添加mysql驱动

pom.xml:

<dependencies><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><!--<scope>runtime</scope>--></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

🍀(3)定义表和实体类: com.wang.springbootmybatis.domain

User.java:

public class User {private int id;private String username;private String password;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +'}';}
}

🍀(4)编写DataSource和MyBatis相关配置

application.yml:

# datasource
spring:datasource:url: jdbc:mysql://127.0.0.1:3306/springboot?serverTimezone=UTCusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driver

🍀(5)纯注解开发 新建接口com.wang.springbootmybatis.mapper

@Mapper
public interface UserMapper {@Select("select * from t_user")public List<User> findAll();
}

🍀(6)测试

@SpringBootTest
class SpringbootMybatisApplicationTests {@Autowiredprivate UserMapper userMapper;@Testvoid testFindAll() {List<User> all = userMapper.findAll();System.out.println(all);}
}

🍀(7)xml开发:新建接口 com.wang.springbootmybatis.mapper

@Mapper
public interface UserXmlMapper {public List<User> findAll();
}

resources下建立xml文件: UserMapper.xml

<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wang.mapper.UserXmlMapper"><select id="findAll" resultType="com.wang.domain.User">select * from t_user</select>
</mapper>

修改application.yml 新增如下配置:

mybatis:mapper-locations: classpath:mapper/*type-aliases-package: com.wang.springbootmybatis.domain

🍀(8)测试

@Autowired
private UserXmlMapper userXmlMapper;@Testvoid testFindAllByXml() {List<User> all = userXmlMapper.findAll();System.out.println(all);}

三、SpringBoot整合Redis

🍀(1)搭建SpringBoot工程: springboot-redis

🍀(2)引入redis起步依赖

pom.xml:

 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

🍀(3)编写测试类

@SpringBootTest
class SpringbootRedisApplicationTests {@Autowiredprivate RedisTemplate redisTemplate;@Testvoid testSet() {redisTemplate.boundValueOps("name").set("zhangsan");}@Testvoid testGet() {Object name = redisTemplate.boundValueOps("name").get();System.out.println(name);}
}

🍀(4)启动redis

🍀(5)测试

🍀(6)application.yml 配置redis相关属性

spring:redis:host: 127.0.0.1 # redis的主机ipport: 6379

后记

在这里插入图片描述

👉Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~
👉算法刷题路线可参考:算法刷题路线总结与相关资料分享,内含最详尽的算法刷题路线指南及相关资料分享~

相关文章:

最全面的SpringBoot教程(五)——整合框架

前言 本文为 最全面的SpringBoot教程&#xff08;五&#xff09;——整合框架 相关知识&#xff0c;下边将对SpringBoot整合Junit&#xff0c;SpringBoot整合Mybatis&#xff0c;SpringBoot整合Redis等进行详尽介绍~ &#x1f4cc;博主主页&#xff1a;小新要变强 的主页 &…...

信息安全保障

信息安全保障信息安全保障基础信息安全保障背景信息安全保障概念与模型基于时间的PDR模型PPDR模型&#xff08;时间&#xff09;IATF模型--深度防御保障模型&#xff08;空间&#xff09;信息安全保障实践我国信息安全保障实践各国信息安全保障我国信息安全保障体系信息安全保障…...

windows/linux,mosquitto插件mosquitto-auth-plug说明,重点讲解windows下

先贴代码,再讲方法 #ifndef AUTH_PLUG_H #define AUTH_PLUG_H#ifdef _WIN32 #ifdef AUTH_PLUG_EXPORTS # define AUTH_PLUG_AP...

GWAS:mtag (Multi-Trait Analysis of GWAS) 分析

mtag (Multi-Trait Analysis of GWAS)作用&#xff1a;通过对多个表型相似的GWAS summary结果进行联合分析&#xff0c;发现更多的表型相关基因座。 以抑郁症状、神经质和主观幸福感这三个表型为例&#xff0c;分别对他们进行GWAS分析&#xff0c;鉴定得到32、9 和 13个基因座与…...

MATLAB--imadjust函数

目录 一、功能 二、使用 1.格式 2.具体用法 3.代码 总结 一、功能 功能&#xff1a;通过灰度变换调整对比度 二、使用 1.格式 Jimadjust(I,[low high],[bottom top],gamma)2.具体用法 将图像I中的灰度值映射到J中的新值&#xff0c;即将灰度在[low high]之间的值映射到…...

前端开发这次几个非常经典的常用技巧,学会了之后事半功倍

对于一个刚入前端的新手来说&#xff0c;在前端开发过程中会遇到各种各样的麻烦和坑&#xff0c;这样很多时候回让开发者的信息受到打击&#xff0c;作为一个稍微好一点的前端菜鸟来说&#xff0c;今天就给刚入前端的新手们分享一些比较实用的开发技巧&#xff0c;让之少走一些…...

Zookeeper配置化中心

zookeeper的基本知识 zookeeper的数据结构:zookeeper提供的命名空间非常类似于标准的文件系统&#xff0c;key-value的形式存储&#xff0c;名称key由/分割的一系列路径元素&#xff0c;zookeeper名称空间中的每个节点都是一个路径标志。 windows下的zookeeper安装&#…...

【LeetCode】打家劫舍 III [M](递归)

337. 打家劫舍 III - 力扣&#xff08;LeetCode&#xff09; 一、题目 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为 root 。 除了 root 之外&#xff0c;每栋房子有且只有一个“父“房子与之相连。一番侦察之后&#xff0c;聪明的小偷意识…...

设计模式——单例模式

单例模式分为懒汉式和饿汉式两种 在有些系统中&#xff0c;为了节省内存资源、保证数据内容的一致性&#xff0c;对某些类要求只能创建一个实例&#xff0c;这就是所谓的单例模式. 例如&#xff0c;Windows 中只能打开一个任务管理器&#xff0c;这样可以避免因打开多个任务管理…...

json-server环境搭建及使用

json-server环境搭建 一个在前端本地运行&#xff0c;可以存储json数据的server。 基于node环境&#xff0c;可以指定一个 json 文件作为 API 的数据源。 文章目录json-server环境搭建前提下载安装监听服务启动成功修改端口号方式一&#xff1a;方式二&#xff1a;数据操作测试…...

RabbitMQ运行机制

消息的TTL&#xff08;Time To Live&#xff09; 消息的TTL就是消息的存活时间。 • RabbitMQ可以对队列和消息分别设置TTL。 • 对队列设置就是队列没有消费者连着的保留时间&#xff0c;也可以对每一个单独的消息做单独的 设置。超过了这个时间&#xff0c;我们认为这个消息…...

【Spring Cloud Alibaba】(三)OpenFeign扩展点实战 + 源码详解

系列目录 【Spring Cloud Alibaba】&#xff08;一&#xff09;微服务介绍 及 Nacos注册中心实战 【Spring Cloud Alibaba】&#xff08;二&#xff09;微服务调用组件Feign原理实战 本文目录系列目录前言一、Feign扩展点配置二、OpenFeign扩展点配置1. 通过配置文件配置有效范…...

面向对象设计原则

在面向对象的设计过程中, 我们要对代码进行一个设计, 从而提高一个软件系统的可维护性和可复用性, 那么遵从面向对象的设计原则&#xff0c;可以在进行设计方案时减少错误设计的产生&#xff0c;从不同的角度提升一个软件结构的设计水平。 面向对象有以下七大原则:1.单一职责原…...

2022年“网络安全”赛项湖南省赛选拔赛 任务书

2022年“网络安全”赛项湖南省赛选拔赛 任务书2022年“网络安全”赛项湖南省赛选拔赛 任务书A模块基础设施设置/安全加固&#xff08;200分&#xff09;B模块安全事件响应/网络安全数据取证/应用安全&#xff08;400分&#xff09;C模块 CTF夺旗-攻击 &#xff08;200分&#x…...

学习笔记:Java 并发编程⑥_并发工具_JUC

若文章内容或图片失效&#xff0c;请留言反馈。 部分素材来自网络&#xff0c;若不小心影响到您的利益&#xff0c;请联系博主删除。 视频链接&#xff1a;https://www.bilibili.com/video/av81461839配套资料&#xff1a;https://pan.baidu.com/s/1lSDty6-hzCWTXFYuqThRPw&am…...

Linux文件隐藏属性(修改与显示):chattr和lsattr

文件除了基本的九个权限以外还有隐藏属性存在&#xff0c;这些隐藏属性对于系统有很大的帮助&#xff0c;尤其是系统安全&#xff08;Security&#xff09;上 chattr&#xff08;配置文件隐藏属性&#xff09; chattr 【-】【ASacdistu】文件或目录名称 选项与参数&#xff1a…...

广东省基层就业补贴

基层就业补贴链接&#xff1a;https://www.gdzwfw.gov.cn/portal/v2/guide/11440309MB2D27065K4440511108001 一.申请条件&#xff1a; 1、劳动者到中小微企业、个体工商户、社会组织等就业&#xff0c;或到乡镇&#xff08;街道&#xff09;、村居社会管理和公共服务岗位就业…...

高压放大器在超声导波钢轨传播中的应用

实验名称&#xff1a;高压放大器在超声导波钢轨传播中的应用研究方向&#xff1a;无损检测测试目的&#xff1a;超声导波具有传播距离远、检测距离长的特点&#xff0c;在钢轨无损检测领域受到越来越多的关注。本文使用有限元仿真方法和现场实验方法&#xff0c;对钢轨各模态超…...

Java字符串常见拼接方式

目录 最常见的方式 StringBuilder.append()和StringBuffer.append() String类下的cocat()方法 String类下的join()方法 StringUtils.join 项目中使用 不建议在 for 循环中使用 “” 进行字符串拼接 通过字符串连接&#xff0c;可以将两个或多个字符串、字符、整数和浮点…...

商城业务:购物车

人生在世如身处荆棘之中&#xff0c;心不动&#xff0c;人不妄动&#xff0c;不动则不伤&#xff1b;如心动则人妄动&#xff0c;伤其身痛其骨&#xff0c;于是体会到世间诸般痛苦。 1、购物车需求 1&#xff09;、需求描述&#xff1a; - 用户可以在登录状态下将商品添加到购…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...

【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解

一、前言 在HarmonyOS 5的应用开发模型中&#xff0c;featureAbility是旧版FA模型&#xff08;Feature Ability&#xff09;的用法&#xff0c;Stage模型已采用全新的应用架构&#xff0c;推荐使用组件化的上下文获取方式&#xff0c;而非依赖featureAbility。 FA大概是API7之…...

Linux入门(十五)安装java安装tomcat安装dotnet安装mysql

安装java yum install java-17-openjdk-devel查找安装地址 update-alternatives --config java设置环境变量 vi /etc/profile #在文档后面追加 JAVA_HOME"通过查找安装地址命令显示的路径" #注意一定要加$PATH不然路径就只剩下新加的路径了&#xff0c;系统很多命…...