這幾天弄log4j和hibernate的時候都碰到可編程的配置方式這個概念,一時都轉不過彎來.
在log4j的配置種,如果提供了log4j.properties文件并且放在了上下文類路徑中,則不用在程序中寫任何配置,直接用logger即可,相反,如果沒有提供log4j.properties文件也是可以的,怎么辦呢?就是用所謂的可編程的配置方式,比如如下代碼就是在沒有配置文件的時候實現log4j的編程配置:
BasicConfigurator.configure ();//自動快速地使用缺省Log4j環境。
//PropertyConfigurator.configure ( String configFilename) :讀取使用Java的特性文件編寫的配置文件。
//DOMConfigurator.configure ( String filename ) :讀取XML形式的配置文件。
hibernate中的可編程配置方式和上面有點不同,hibernate在用hibernate.properties文件的時候可以用編程方式實現加載實體域配置文件(.hbm.xml),代碼如下:
Configuration cfg = new Configuration()
.addFile("Vertex.hbm.xml")
.addFile("Edge.hbm.xml");
如果有hibernate.cfg.xml配置文件的話就不用上面的所謂編程配置方式了,hibernate會幫助我們自動加載和配置,代碼如下:
try
{
sessionFactory = new Configuration().configure().
buildSessionFactory();
}
catch (HibernateException ex)
{
throw new RuntimeException("Exception building SessionFactory: " +
ex.getMessage(), ex);
}