首页 > 解决方案 > 如果没有接口的实现,@Autowire 接口如何工作?

问题描述

我是一个开始学习spring框架的人。在部分代码中,控制器 @Autowired 连接到名为 IXYZMapper 的接口,该接口没有实现它的类。但它有一个对应的 Mybatis 映射器文件,名为 XYZMapper.xml。在 xml 映射器文件中,它具有以下信息:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="IXYZMapper">
  <select>
    ....
  </select>
  ...
</mapper>

这是否意味着spring或mybatis会自动创建一个类来实现IXYZMapper,然后ApplicationContext会将它的一个实例注册为一个bean。后来不管@Autowired 给Interface,它返回自动生成的bean?

谢谢

标签: javaspringmybatis

解决方案


推荐阅读