• Spring(八)Spring 整合 MyBatis、Junit


    一、Spring 整合 MyBatis

    (1)创建Mybatis配置类并配置SqlSessionFactory

    1. public class MybatisConfig {
    2. //定义bean,SqlSessionFactoryBean,用于产生SqlSessionFactory对象
    3. @Bean
    4. public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) {
    5. SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
    6. //设置模型类的别名扫描
    7. ssfb.setTypeAliasesPackage("com.itheima.domain");
    8. //设置数据源
    9. ssfb.setDataSource(dataSource);
    10. return ssfb;
    11. }
    12. //定义bean,返回MapperScannerConfigurer对象
    13. @Bean
    14. public MapperScannerConfigurer mapperScannerConfigurer() {
    15. MapperScannerConfigurer msc = new MapperScannerConfigurer();
    16. msc.setBasePackage("com.itheima.dao");
    17. return msc;
    18. }
    19. }

    (2)主配置类中引入Mybatis配置类

    1. @Configuration
    2. @ComponentScan("com.itheima")
    3. @PropertySource("classpath:jdbc.properties")
    4. @Import({JdbcConfig.class, MybatisConfig.class})
    5. public class SpringConfig {
    6. }

    (3)编写运行类

    1. public class App2 {
    2. public static void main(String[] args) {
    3. AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);
    4. AccountService accountService = ctx.getBean(AccountService.class);
    5. Account ac = accountService.findById(2);
    6. System.out.println(ac);
    7. }
    8. }

    二、Spring整合Junit

    编写测试类

    1. @RunWith(SpringJUnit4ClassRunner.class)
    2. @ContextConfiguration(classes = SpringConfig.class)
    3. public class AccountServiceTest {
    4. @Autowired
    5. private AccountService accountService;
    6. @Test
    7. public void testFindById() {
    8. System.out.println(accountService.findById(1));
    9. }
    10. }

    注意:

    (1)单元测试,如果测试的是注解配置类,则使用  @ContextConfiguration(classes = 配置
    .class)
    (2)单元测试,如果测试的是配置文件,则使用 @ContextConfiguration(locations={ 配置文件名,...})
    (3)Junit 运行后是基于 Spring 环境运行的,所以 Spring提供了一个专用的类运行器,这个务必要设 置,这个类运行器就在 Spring 的测试专用包中提供的,导入的坐标就是这个东西
    SpringJUnit4ClassRunner
    (4)上面两个配置都是固定格式,当需要测试哪个 bean时,使用自动装配加载对应的对象,下面的工作就和以前做 Junit 单元测试完全一样了

     

  • 相关阅读:
    人机杂感
    C++初阶 入门(2)
    《程序员修炼之道》读书笔记
    WebRTC系列-H.264预估码率计算
    Matter over Wi-Fi: Raspberry Pi 4开发环境设置
    JdbcTemplate操作数据库
    前端缓存机制——强缓存、弱缓存、启发式缓存
    背包问题学习笔记-01背包
    ajax复习第二弹
    【python】OpenCV—Rectangle, Circle, Selective Search(1.2)
  • 原文地址:https://blog.csdn.net/yirenyuan/article/details/127743808