文章目录
- 💨更多相关知识👇
-
- 一、整合MyBatis
-
- ⭐整合变化演示图 ❗
-
- ⭐代码演示
- 二、整合JUnit4
-
- ⭐代码演示
- 作者:KJ.JK
💨更多相关知识👇
💖Spring中的创建对象的三种方式、第三方资源配置管理详细描述及使用(XML版完结篇)
💖Spring中的bean的配置、作用范围、生命周期详细描述及使用(XML版上篇)
💖Spring中的依赖注入、setter与构造器注入、自动装配与集合注入详细描述及使用(XML版中篇)
💖异常处理与解决方案详解上篇
💖异常处理与解决方案详解下篇
💖Math类与System类的常用方法使用
💖JavaEE中的静态方法定义、方法重载要求、return作用详解
💖List接口的常用方法,精华总结
💖JavaEE中的Stream流的常用方法
💖JavaEE中的Stream流知识点使用,精华总结,一文直接上手
🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈
🍂个人博客首页: KJ.JK
欢迎大家点赞👍收藏💖评论💬关注🔒
💖源码获取 | 💻学习交流 | 🤝商务合作 | 💨私信作者
💨推荐一款实用的模拟面试、刷题练习算法的神器、适用于所有的程序猿👉点击开始免费刷题,跟着博主走上巅峰💪
一、整合MyBatis
"Spring整合MyBatis"
------------------------------------------------------------------------------------------------------------
* 操作步骤:
1.在pom.xml导入Spring整合MyBatis的依赖
<!-- mybatis整合spring 这个包是MyBatis提供,把MyBatis整合Spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.4</version>
</dependency>
2.配置对应的sqlSessionFactory类和MapperScannerConfigurer类
⭐整合变化演示图 ❗
⭐代码演示
//Spring整合Mybatis类
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.mapper.MapperScannerConfigurer;
import org.springframework.context.annotation.Bean;
import javax.sql.DataSource;
// Spring整合MyBaits把MyBatis配置文件和需要编写的代码放到了两个类中,这个地方主要就是创建那两个类
public class MyBatisConfig {
// 1.创建 SqlSessionFactoryBean 到 IoC容器中
@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) {
SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean(); //初始化SqlSessionFactory
ssfb.setTypeAliasesPackage("com.itheima.pojo"); //初始化类型别名
ssfb.setDataSource(dataSource); //初始化dataSource
return ssfb;
}
// 2.创建 MapperScannerConfigurer 到 IoC容器中
@Bean
public MapperScannerConfigurer mapperScannerConfigurer() {
MapperScannerConfigurer msc = new MapperScannerConfigurer(); //获取会话,获取接口实现类对象
msc.setBasePackage("com.itheima.dao"); // MyBatis会扫描这个包中的所有接口生成实现类
return msc;
}
}
二、整合JUnit4
"使用Spring整合Junit4单元测试"
------------------------------------------------------------------------------------------------------------
* 操作步骤:
1.在pom.xml导入Spring整合Junit单元测试的依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
2.在单元测试类上使用"@RunWith注解,指定其他运行器来运行单元测试"
@RunWith(SpringJUnit4ClassRunner.class)
3.在单元测试类上使用"@ContextConfiguration注解,指定配置类去创建IOC容器"
@ContextConfiguration(classes= 指定配置类.class)
/*
注意:
@RunWith(SpringRunner.class) // //使用这个注解主要是为了可以注入IOC使用Spring的东西
@RunWith:Junit提供的注解,可以指定其他运行器来运行单元测试
SpringJUnit4ClassRunner:Spring提供的整合JUnit单元测试的运行器,它的作用就是去创建IOC容器
@ContextConfiguration:指定配置类,让Spring根据这个配置类去创建IOC容器
单元测试5中 @RunWith会变成 @ExtendWith
*/
⭐代码演示
//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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itheima</groupId>
<artifactId>spring-06-mybatis</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<!-- spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<!-- Spring整合JUnit单元测试的依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<!-- junit4 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- MySQL数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<!-- spring-jdbc包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<!-- druid连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.8</version>
</dependency>
<!-- mybatis的包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<!-- mybatis整合spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.4</version>
</dependency>
<!--MyBatis日志配置-->
<!-- 添加slf4j日志api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.20</version>
</dependency>
<!-- 添加logback-classic依赖 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<!-- 添加logback-core依赖 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
</project>
------------------------------------------------------------------------------------------------------------
//Spring核心配置类
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@ComponentScan("com.itheima.service")
@Import({JdbcConfig.class, MyBatisConfig.class})
public class SpringConfig {
}
------------------------------------------------------------------------------------------------------------
//测试类
import com.itheima.config.SpringConfig;
import com.itheima.pojo.Account;
import com.itheima.service.AccountService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
//Spring 整合 Junit 4 单元测试
//@RunWith:Junit提供的注解,可以指定其他运行器来运行单元测试
//SpringJUnit4ClassRunner:Spring提供的整合JUnit单元测试的运行器,它的作用就是去创建IOC容器
//@ContextConfiguration:指定配置类,让Spring根据这个配置类去创建IOC容器
@RunWith(SpringJUnit4ClassRunner.class) //@ExtendWith Junit 5 整合 Spring
@ContextConfiguration(classes= SpringConfig.class)
public class SpringJunitTest {
@Autowired
private AccountService accountService;
@Test
public void test01() {
List<Account> accountList=accountService.findAll();
accountList.forEach(System.out::println);
}
}
作者:KJ.JK
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习
版权声明:程序员胖胖胖虎阿 发表于 2022年9月19日 上午5:08。
转载请注明:Spring整合MyBatis、Spring整合JUnit4(Spring纯注解开发完结篇) | 胖虎的工具箱-编程导航
转载请注明:Spring整合MyBatis、Spring整合JUnit4(Spring纯注解开发完结篇) | 胖虎的工具箱-编程导航
相关文章
暂无评论...