011-spring-整合三方框架的命名空间原理(重要)

根据context标签来学习了解

XML 复制代码
<context:property-placeholder location="jdbc.properties"/>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driver" value="${db.driver}"/>
        <property name="url" value="${db.url}"/>
        <property name="username" value="${db.user}"/>
        <property name="password" value="${db.password}"/>
</bean>

#main方法

#next

#这个地方返回 NamespaceHandler

####最终找到所有的命名空间来自这个地方

####最终找到所有的命名空间来自这个地方

####最终找到所有的命名空间来自这个地方

####最终找到所有的命名空间来自这个地方

最后找到这个地方的对应

复制代码
http\://www.springframework.org/schema/context=org.springframework.context.config.ContextNamespaceHandler

找到这个init方法之后会调用 init方法来加载类

复制代码
java 复制代码
#1、接口
public interface NamespaceHandler {
      void init();
#2、定义了抽象类
public abstract class NamespaceHandlerSupport implements NamespaceHandler {
#3、类实现抽象类
public class ContextNamespaceHandler extends NamespaceHandlerSupport {
    public void init() {

#综上:所以调用了  
NamespaceHandler namespaceHandler = (NamespaceHandler)BeanUtils.instantiateClass(handlerClass);
namespaceHandler.init();

##将需要的类注册到IOC容器(重要)

##将需要的类注册到IOC容器(重要)

##将需要的类注册到IOC容器(重要)

我们如何自定义一个三方命名空间呢

1、继承 extends NamespaceHandlerSupport {

2、重写init方法

3、在init方法中将需要注册的bean加入到ioc容器

4、在META-INF/spring.handlers 中重写映射关系

#####实践案例

#####实践案例

#####实践案例

相关推荐
咩咩啃树皮1 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
鱟鲥鳚1 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
广州灵眸科技有限公司2 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
大模型码小白3 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司3 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地4 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
憧憬成为web高手4 小时前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
wuqingshun3141595 小时前
TCP超时重传机制是为了解决什么问题?
java
段一凡-华北理工大学5 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
oradh7 小时前
Oracle XTTS实现跨版本迁移和升级(Oracle 11g单库升级至19C RAC集群)
数据库·oracle·11g升级19c·xtts跨版本迁移和升级