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

SpringBoot整合Juint,ssm框架

目录

SpringBoot整合Juint

1.导入相关的依赖

2.创建测试类,使用注解@SpringBootTest

SpringBoot整合ssm框架

1.使用脚手架创建Spring项目

2.修改pom.xml

我先修改了SpringBoot的版本,修改为2.3.10.RELEASE,因为SpringBoot版本太高会出现各种各样奇怪的报错

导入的依赖的版本我也进行了修改

数据库驱动

java版本修改

由于我们还要使用druid数据源进行连接数据库,我们还要导入druid依赖

3.编写application.yml文件的数据库连接信息

 4.编写dao层

 5.使用测试类(@SpringBootTest)来进行测试


SpringBoot整合Juint

1.导入相关的依赖

<!--整合junit--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>

2.创建测试类,使用注解@SpringBootTest

//@SpringBootTest//会在相同的包下寻找SpringBoot引导类并进行加载,如果和SpringBoot引导类不在同一个包名下,就会报错@SpringBootTest
class SpringDay8SpringBoot2ApplicationTests {@Autowiredprivate Book booK;@Testvoid contextLoads() {booK.save();}}

这个测试类处于com.hhh包下

SpringBoot会根据改测试类处于的包名,进而去相同的包名下寻找SpringBoot引导类,并进行加载

如果 测试类和引导类处于不同的包,我们可以使用@SpringBootTest注解的classes属性进行赋值加载

//@SpringBootTest//会在相同的包下寻找SpringBoot引导类并进行加载,如果和SpringBoot引导类不在同一个包名下,就会报错//所以我们可以直接指定引导类
@SpringBootTest(classes = SpringDay8SpringBoot2Application.class)
class SpringDay8SpringBoot2ApplicationTests {@Autowiredprivate Book booK;@Testvoid contextLoads() {booK.save();}}

SpringBoot整合ssm框架

由于SpringBoot是简化Spring开发的,而SpringMVC又是Spring的一部分,所以不用去整合,所以要整合的就是mybatis框架

1.使用脚手架创建Spring项目

选择Spring Initializr

选择maven和jar包

选择mybatis框架和Mysql驱动

2.修改pom.xml

我先修改了SpringBoot的版本,修改为2.3.10.RELEASE,因为SpringBoot版本太高会出现各种各样奇怪的报错

导入的依赖的版本我也进行了修改

数据库驱动

java版本修改

由于我们还要使用druid数据源进行连接数据库,我们还要导入druid依赖

 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency>

 完整的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><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.10.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><!-- Generated by https://start.springboot.io --><!-- 优质的 spring/boot/data/security/cloud 框架中文文档尽在 => https://springdoc.cn --><groupId>com.hhh</groupId><artifactId>spring_day8_springBootSsm</artifactId><version>0.0.1-SNAPSHOT</version><name>spring_day8_springBootSsm</name><description>spring_day8_springBootSsm</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
<!--            <scope>runtime</scope>--></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter-test</artifactId><version>2.3.0</version><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

3.编写application.yml文件的数据库连接信息

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mysql_day2?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=falseusername: rootpassword: 123456type: com.alibaba.druid.pool.DruidDataSource

通过对dataSource属性进行赋值,SpringBoot会创建出DataSource类对象,SqlSessionFactory类对象,并交给Spring管理 

 4.编写dao层

@Mapper
public interface BookDao {@Select("select * from book;")List<Book> getAll();
}

对于这个接口类,我使用了@Mapper注解,把这个类交给Spring管理,并告诉了Spirng这是一个接口类,然后Spring会帮忙创建代理对象

可以比较的是,如果不使用SpringBoot,我们需要在MybatisConfig配置类中写接口扫描的方法来对dao层的所有接口进行扫描,并创建代理对象

 这是Book对象

public class Book {private Integer id;private String name;private String description;private Double score;@Overridepublic String toString() {return "Book{" +"id=" + id +", name='" + name + '\'' +", description='" + description + '\'' +", score=" + score +'}';}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public Double getScore() {return score;}public void setScore(Double score) {this.score = score;}
}

这是数据库

 5.使用测试类(@SpringBootTest)来进行测试

@SpringBootTest
class SpringDay8SpringBootSsmApplicationTests {@Autowiredprivate BookDao bookDao;@Testvoid contextLoads() {List<Book> all = bookDao.getAll();System.out.println(all);}}

结果

http://www.lryc.cn/news/412559.html

相关文章:

  • 基于supervisor制作基于环境变量配置的redis
  • 动态规划part01 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
  • CSS实现图片边框酷炫效果
  • 遇到 MySQL 死锁问题如何解决?
  • Pyinstaller打包OSError: could not get source code【终极解决】
  • 【计算机毕业设计】707高校宿舍管理系统
  • 从C++看C#托管内存与非托管内存
  • Linux进程间通信--IPC之无名管道
  • Oracle19c数据库system密码锁定
  • java之hashCode() 方法和 equals(Object obj) 方法之间的关系
  • 首届「中国可观测日」圆满落幕
  • [Docker][Docker NetWork][下]详细讲解
  • 安卓系统在未来如何更好地解决隐私保护与数据安全的问题?
  • MySQL innodb单表上限一般多少
  • 更小、更安全、更透明:Google发布的Gemma推动负责任AI的进步
  • 基于Django框架的医疗耗材管理系统的设计实现-计算机毕设定制-附项目源码(可白嫖)48999
  • 物联网协议篇(1):modbus tcp和modbusRTU的区别是什么?
  • JVM系列 | 对象的消亡——HotSpot的设计细节
  • vue 运行或打包过程报错 JavaScript heap out of memory(内存溢出)
  • git分支提交方法
  • 从微架构到向量化--CPU性能优化指北
  • 声声入耳,事事如意 爱可声「如意」助听器即将上市!
  • 生物实验室设备文件采集如何才能质量和效率双管齐下?
  • Framework源码整编、单编、烧录过程
  • TypeScript类型断言
  • Mallet:一款针对任意协议的安全拦截代理工具
  • 【IEEE出版】第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024,9月20-22)
  • 自修室预约小程序的设计
  • 用于跟踪个人图书馆的BookLogr
  • 深入解析JVM垃圾回收机制:Full GC、Minor GC与Major GC