图灵学院 java架构师学习路线-Mybatis中Builder模式的介绍
Builder模式的定义是“将复杂对象的构造与其表示分离,以便同一构造过程可以创建不同的表示”。它属于创建模式。一般来说,如果对象的构造更为复杂,则超出了构造函数的范围,可以使用工厂模式和Builder模式。与工厂模式相比,将生产出完整的产品。构建器用于构建更复杂的对象,甚至仅构建产品的一部分。
在Mybatis环境的初始化过程中,SqlSessionFactoryBuilder将调用XMLConfigBuilder读取所有MybatisMapConfig.xml和所有*Mapper.xml文件,构建Mybatis运行的核心对象Configuration对象,然后使用Configuration对象作为参数构造一个SqlSessionFactory对象。
当XMLConfigBuilder构建Configuration对象时,它还将调用XMLMapperBuilder来读取*Mapper文件,并且XMLMapperBuilder将使用XMLStatementBuilder来读取和构建所有SQL语句。
在此过程中,有一个类似的功能,即这些Builders将读取文件或配置,然后进行大量的XpathParser解析,配置或语法解析,反射生成对象,并将它们存储在结果缓存中。需要做很多工作。没有构造函数可以包含,因此很多使用Builder模式来解决。
对于特定类型的builder,大多数方法都以build*开头。例如,SqlSessionFactoryBuilder包含以下方法:
是根据不同的输入参数构造工厂对象SqlSessionFactory。
如果你想了解更多关于java架构师的专业知识,可以一起交流:11604这里面都是同行05674,有资源分享包括但不限于(分布式架构、高可扩展、高性能、高并 发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。欢迎一到五年的工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!