Spring框架(三):Spring整合Mybaits、Junit

Spring整合Mybaits

目标:用Spring方式取缔Mybatis中的SqlMapConfig.xml配置文件

1、开启注解扫描

@Configuration //声明当前类为Spring配置类

//设置bean扫描路径,多个路径书写为字符串数组格式等价于<context:component-scan base-package=“com.itheima”/>
@ComponentScan({“com.itheima.service”,“com.itheima.dao”})
在这里插入图片描述

2、加载外部文件(和导入其他配置类)

@PropertySource:加载外部文件
@PropertySource(“classpath:jdbc.properties”)
//classpath:相对于resources包下文件

@Import//导入其他配置类的信息(目的:将配置类分类,然后导入Spring配置类)

image-20220516160902937

3、配置Mapper映射扫描和别名配置

image-20220516160951626
附:别名配置
在 cn.com.mybatis.pojo 包里可能也会存在多个 JavaBean,这时候一个一个配置别名就会很麻烦,这时候就需要批量定义别名,批量指定很简单,只要指定包名即可,之后程序会为包下的所有类都自动加上别名,其定义别名的规范就是对应包装类的类名首字母变为小写,其示例代码如下:

<typeAliases>
    <package name="cn.com.mybatis.pojo"/>
</typeAliases>

这时设置的包名下的类就都有了别名,别名就是类名(首字母小写),User 类,其别名就为 user。

另外一种别名配置方式,直接使用@Alias

@Alias("user")
public class User{
    ...}

4、数据库环境配置(外部文件注入属性)

image-20220516161017397

5、开始测试

1、Spring注解获取上下文容器对象的方式和Mybatis的不同(因为不再使用SqlMapConfig.xml文件),直接加载Spring.class来获取上下文容器对象
2、可从Spring容器中直接getBean来使用

public class App2 {
    public static void main(String[] args) {
        //在上方Spring配置完成后,可以直接加载Spring.class来获取上下文容器对象
        // (该对象配置好了数据库的相关操作)
        ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);

        //由Service来查询
        AccountService accountService = ctx.getBean(AccountService.class);
        Account ac = accountService.findById(1);
        System.out.println(ac);
    }
}

Spring整合Junit

1、导入依赖

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-test</artifactId>
  <version>5.2.10.RELEASE</version>
</dependency>

2、开始测试

@RunWith 就是一个运行器,后面加什么反射就是使用什么环境来运行
——@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境

@ContextConfiguration(classes = SpringConfig.class) //引入配置,
Spring整合JUnit4测试时,使用注解引入多个配置文件

//设置类运行器
@RunWith(SpringJUnit4ClassRunner.class)
//设置Spring环境对应的配置类——告诉test类相关配置
@ContextConfiguration(classes = SpringConfig.class)
public class AccountServiceTest {
    //支持自动装配注入bean(想要测试的对象)
    @Autowired
    private AccountService accountService;

    @Test
    public void testFindById(){
        System.out.println(accountService.findById(1));
    }
    @Test
    public void testFindAll(){
        System.out.println(accountService.findAll());
    }
}

专栏文章:
Spring框架(一):概述及简单使用(基于XML方式)

Spring框架(二):注解开发及快速入门

Spring框架(三):Spring整合Mybaits、Junit

Spring框架(四):AOP面向切面编程

Spring框架(五):Spring事务简述(注解方式)

Spring框架(六):Spring注解简述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值