java - 如果没有接口的实现,@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?
谢谢
解决方案
推荐阅读
- sql - 累积数据和原始数据
- python - tkinter中的while循环太慢
- react-native - 在 FlatList 或 ScrollView 中禁用向左/向右滑动
- r - 从 colnames 中删除引号?
- c++ - 如何移动包含和捕获 lambda 的 std::function?
- java - JNI:程序显示“AWT-EventQueue-0”java.lang.UnsatisfiedLinkError:client.dll:找不到指定的过程”
- visual-studio - 更改灯光后,我的统一项目中的所有包都丢失了
- python - paho mqtt on_message 回调线程
- javascript - 如何使用 ESLint 指定解析器?解析错误:意外的令牌,应为“;”
- azure - 使用 C# 将存储在 Azure Blob 存储中的图像下载为图像