Hibernate源码解析---------hibernate.cfg.xml读取流程
通常我们使用Hibernate的时候 ,首先要通过以下的代码去创建一个Session.
也就是说,在没有放入参数的情况下, hibernate默认会找到名字为hibernate.cfg.xml文件来进行解析。
继续往下看, 找到带参数的configure()。
这里也就获取了该xml文件的stream。支线1到此结束。
2. doConfigure( stream, resource );
Configuration的2064行public Configuration addProperties(Properties extraProperties) {this.properties.putAll( extraProperties );return this;}
properties是Configuration类的内部对象。
于是session-factory节点就这么被加进去了。
这个properties是个很重要的变量, 在后面的ServiceRegistry创建的时候就会被用到。
--
可以看到这里的返回参数几乎都是Configuration, 弄来弄去, 最后都是在修改这个Configuration类的实例对象。
还是最初那行代码
Configuration con=new Configuration().configure();
说白了, 这里的configure()就是调用了一大堆内部外部方法, 将new出来的Configuration实例进行了加工, 然后返回。。
今天先到这儿, 明天继续研究, 争取早点把这个图画出来, 写的太乱了实在是。