Hibernate学习笔记---Configuration(由于忙,此文暂不更新,)
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://973007.blog.51cto.com/100031/51581 |
不免俗话:"准备写个hibernate学习笔记系列,主要是针对Hibernate3.0源码的学习"
只是个人学习里程的点滴记录,会根据自己的渐进的学习不断修改欢迎您拍砖指点^_^
_____________________________________________________________________________
说明: 序号表示顺序,如1 ,如果 是1.1 那么表示此项位于1内....
首先,回忆一下Hibernate使用方法,
Configuration config=new Configuration().configure();
SessionFactory sessionFactory=config.buildSessionFactory();
如果你用的IDE是MyEclipse,在加入Hibernate支持时,可以发现可以选择覆盖SessionFactory.
决定就看这两个类和MyEclipse生成的SessionFactory
迷惑在是直接进入底层还是全局,根据基本用法直接深入代码吧,直到能看清全局,再把思路整理出来..
如果想先全局了解Hibernate,请自行查阅相关文章以及书籍
建议直接逆向,看几天类图 = . =~~~~~~~~~~~
首先看Hibernate的Configuration....,看代码去了.....2000行..疯了 - - ~
今晚补上内容~
___________________________________________________
补上
Configuration config=new Configuration().configure();
很不理解这种写法,是为了单纯执行configure()这个方法?
为什么不分开写呢?
Configuration config=new Configuration();
config.configure();
_________________________________________________
1 new Configuration()
1.1 调用重载的构造函数初始化SettingFactory ,此时SettingFactory并无动静,初始化完毕后
1.2 调用reset(),初始化,也就是把配置文件相应映射匹配对象初始化,截取一些,此时并没有去加载配置,只是在加载配置文件做好准备........
2 .configure();
方法内部:
2.1 configure( "/hibernate.cfg.xml" ); //调带参的同名方法,当然你也可以传自定义的配置文件名..
return this; //这里就是没分开的写法,直接返回个this..Configuration config=new Configuration().configure(); 其实还有其他的重载如.configure(URL url),configure(File url) ,但最终调用3-->
3 doConfigure(InputStream stream, String resourceName)
, 在此方法里,利用org.hibernate.util.xmlHelper,在底层借助DOM4J返回Document,
参考DOM4J,此时已经加载为Document 然后利用这个Document调用 4-->
4 doConfigure(org.dom4j.Document doc)
这里是关键,也就是加载配置了,主要分两部 ,也就是
4.1 Element sfNode = doc.getRootElement().element( "session-factory" );
Element secNode = doc.getRootElement().element( "security" );
如果分别有此以上两个节点,解析相应的.
这里我们先关注解析 session-factory
4.2 addProperties( sfNode );
parseSessionFactory( sfNode, name ); ---------------------------------------暂时写到这---------------------------------------
其实最重要的是他如何解析, <mapping resource="xxx/xxx/xxxxxx.xml" />
当然全局配置也很关键,明天看看他是怎么处理全局配置的
本文出自 “Pure 纯粹--热衷于技术,能自拔而不想” 博客,请务必保留此出处http://973007.blog.51cto.com/100031/51581 本文出自 51CTO.COM技术博客 |


pure
博客统计信息
热门文章
最新评论
友情链接