自定义xml spring bean
一. xml中bean解析过程
扫描META-INF下面的
spring.schemas bean定义对应的xsd位置,在IDEA中可以辅助校验)
spring.handlers xmlns对应的bean具体解析器, 一般会继承NamespaceHandlerSupport,
NSHandler下面是具体解析过程, 最终返回的结果是spring中的BeanDefinition
参见<dubbo:config> <hsf:provider> <mvc:annotation-driven>的解析过程
二. 注解形式的自定义bean
BeanDefinitionRegistryPostProcessor mybatis中的bean注解扫描过程, ===> mapper接口为何可以使用Autowire自动注入 扫描包下的所有类都会创建成对应的MapperFactoryBean对象,同时继承了FactoryBean, 在spring容器getBean时调用FactoryBean的getObject方法,生成mapper的proxy对象
@Import(MapperScannerRegistrar.class)
public @interface MapperScan
如果使用了MapperScan,就会使用MapperScannerRegistrar.class扫描mapperScan定义的包名, 在里面创建mapper对应的MapperFactoryBean
@Import({ AutoConfiguredMapperScannerRegistrar.class })
@ConditionalOnMissingBean(MapperFactoryBean.class)
public static class MapperScannerRegistrarNotFoundConfiguration
如果没有使用MapperScan, 使用的是org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.MapperScannerRegistrarNotFoundConfiguration上面import引入的AutoConfiguredMapperScannerRegistrar来扫描基础包名
注意这个注解@ConditionalOnMissingBean
resources下面的mapper.xml是什么时候加载进去的?
MybatisAutoConfiguration里面sessionFactory初始化时 factory.setMapperLocations(this.properties.resolveMapperLocations());
自定义xml spring bean的更多相关文章
- 0003 - 基于xml的Spring Bean 的创建过程
一.目录 前言 创建 Bean 容器 加载 Bean 定义 创建 Bean Spring Bean 创建过程中的设计模式 总结 二.前言 2.1 Spring 使用配置 ApplicationCont ...
- 6.2 dubbo在spring中自定义xml标签源码解析
在6.1 如何在spring中自定义xml标签中我们看到了在spring中自定义xml标签的方式.dubbo也是这样来实现的. 一 META_INF/dubbo.xsd 比较长,只列出<dubb ...
- 6.1 如何在spring中自定义xml标签
dubbo自定义了很多xml标签,例如<dubbo:application>,那么这些自定义标签是怎么与spring结合起来的呢?我们先看一个简单的例子. 一 编写模型类 package ...
- spring 通过beanDefinition注册自定义规则的bean
目的: 扫描某个自定义注解标注的类, 或者自定义xml 为这些类生成spring Bean 基本原理:org.springframework.beans.factory.support.Default ...
- spring bean的介绍以及xml和注解的配置方法
5.Bean 下边我们来了解一下Bean的: Bean的作用域Bean的生命周期Bean的自动装配Resources和ResourceLoader 5.1Bean容器的初始化 Bean容器的初始化 两 ...
- Spring源码阅读笔记05:自定义xml标签解析
在上篇文章中,提到了在Spring中存在默认标签与自定义标签两种,并且详细分析了默认标签的解析,本文就来分析自定义标签的解析,像Spring中的AOP就是通过自定义标签来进行配置的,这里也是为后面学习 ...
- Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配
一.Spring IOC 容器支持自动装配 Bean,所谓自动装配是指,不需要通过 <property> 或 <constructor-arg> 为 Bean 的属性注入值的过 ...
- spring学习总结——装配Bean学习三(xml装配bean)
通过XML装配bean Spring现在有了强大的自动化配置和基于Java的配置,XML不应该再是你的第一选择了.不过,鉴于已经存在那么多基于XML的Spring配置,所以理解如何在Spring中使用 ...
- Spring中applicationContext.xml的bean里的id和name属性区别
转自:http://www.cnblogs.com/ztf2008/archive/2009/02/11/1388003.html <beans><bean id="per ...
随机推荐
- 分立元件封装尺寸及PCB板材工艺与设计实例
分立元件封装尺寸 inch mm (L)mm (w)mm (t)mm (a)mm (b)mm 0201 0603 0.6±0.05 0.30±0.05 0.23±0.05 0.10±0.05 0.60 ...
- Oracle12c多租户如何启动关闭CDB或PDB (PDB自动启动)
Oracle 数据库 12 c 中介绍了多租户选项允许单个容器数据库 (CDB) 来承载多个单独的可插拔数据库 (PDB).下面我们一起来启动和关闭容器数据库 (CDB) 和可插拔数据库 (PDB). ...
- POJ 1042 Gone Fishing( DP )
题意:小明打算做一个h((1 <= h <= 16))个小时钓鱼旅行.发现这里有n(2 <= n <= 25)个湖,而且所有的湖都在一条路的旁边.小明打算从第1个湖开始钓起,每 ...
- css3 利用perspective实现翻页效果和正方体 以及翻转效果
要点: 1 实现3D效果就需要使用perspective属性 1 页面旋转使用css3的rorate 2 使用backface-visibility 实现正面元素翻转之后背面不可见,显示出反面的元素 ...
- linux命令-tar工具详解
把文件和目录打成一个包 文件打包 [root@wangshaojun ~]# tar -cvf 1.tar 1.txt 123 234 ///-c创建 -v可视化 -f file放最后面1.txt12 ...
- fabric自动化安装mysql-server
1.创建文件auto_install_mysql.py vim auto_install_mysql.py --------------------------------------------&g ...
- ssh远程转发使远程主机在所有ip上监听
起因:突然一夜之间电信扰拨号ip全变内网地址了,这样即使用了动态域名,绑定的也不是本机ip,外部无法访问了.虽然打电话找电信反映说是可以改回来,但必须先解决眼前的问题,访问内网服务器上的svn仓库. ...
- cocos2dx之tolua++全面分析(一):tolua++工具本身
在cocos2dx/tools/tolua++下面,有大量pkg文件,这些是按tolua++要求格式写好的.需要导出到lua中的c++类描述文件. 每当在c++类里增加了新函数需要导出时,应同步修改相 ...
- glib-2.40编译安装
1 安装glib库所需要的依赖库: libffi-.tar.gz glib-.tar.xz 安装依赖库libffi: tar xf libffi-.tar.gz cd libffi- ./config ...
- 通过命令查看jboss的错误日志文件
链接jboss: ssh ip -l jboss