99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

1.2.項(xiàng)目創(chuàng)建與配置

2023-06-16 14:35 更新

之前我們在概述中提到,為簡化我們創(chuàng)建BDF2項(xiàng)目,我們提供了一個(gè)在線的BDF2項(xiàng)目創(chuàng)建向?qū)Вㄟ^該向?qū)?,我們只需要根?jù)項(xiàng)目情況選擇要使用的模塊即可完成項(xiàng)目的創(chuàng)建工作。這個(gè)在線創(chuàng)建項(xiàng)目的向?qū)У刂啡缦?

http://bsdn.org/projects/bdf/deploy/bdf2-new-project-wizard/view.Wizard.d

通過該向?qū)?,選擇好我們需要使用的BDF2模塊,再選擇我們需要使用的項(xiàng)目類型:Maven Project或者Dynamic webproject,點(diǎn)擊“生成BDF2項(xiàng)目”按鈕,系統(tǒng)在計(jì)算好項(xiàng)目依賴后就會提示我們下載創(chuàng)建好的項(xiàng)目,這里需要特別指出的是,如果您選擇的項(xiàng)目類型為Maven Project,那么服務(wù)端基本不需要做太多工作,項(xiàng)目立馬就可以下載;相反,如果您選擇的是Dynamic webproject,那么服務(wù)端就需要做一些工作,特別是計(jì)算項(xiàng)目依賴的第三方j(luò)ar,所以相比Maven Project服務(wù)端計(jì)算的時(shí)間要長,同時(shí)因?yàn)镈ynamicweb project項(xiàng)目的第三方Jar是放在項(xiàng)目當(dāng)中,所以生成的項(xiàng)目體積也相對較大。這里,我們推薦使用MavenProject,利用Maven來管理我們的項(xiàng)目,相比傳統(tǒng)的管理方式優(yōu)勢太多了,大家可以去Google一下。

創(chuàng)建創(chuàng)建好之后,我們可以通過下面的URL來了解如何將在線創(chuàng)建的項(xiàng)目導(dǎo)入到我們的Eclipse當(dāng)中:

http://bsdn.org/projects/bdf/deploy/bdf2-new-project-wizard/doc.html

在這篇文檔當(dāng)中最后提供到數(shù)據(jù)源的配置,默認(rèn)我們通過在線向?qū)?chuàng)建的項(xiàng)目當(dāng)中采用的是HSQL數(shù)據(jù)庫,它使得我們創(chuàng)建的項(xiàng)目導(dǎo)入到Eclipse當(dāng)中立馬就可以運(yùn)行。當(dāng)然實(shí)際的項(xiàng)目我們不會采用HSQL數(shù)據(jù)庫,所以我們需要修改如文檔當(dāng)中得到的數(shù)據(jù)源配置信息,如下圖所示:


在上面的截圖當(dāng)中,一共有三個(gè)Spring的bean:

第一個(gè)bean的ID是dataSource,也就是我們需要配置的連接目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)源信息,可以看到這個(gè)bean默認(rèn)采用的是apache的dbcp連接池,當(dāng)然如果您有其它連接池可以選擇,做對應(yīng)的修改即可,如果您就采用apache的dbcp,那么需要修改其下的url、driverClassName、username及password三個(gè)屬性,將其改成你目標(biāo)數(shù)據(jù)庫對應(yīng)的相關(guān)屬性信息,關(guān)于Apache的DBCP,您可以通過下面的鏈接了解:

http://commons.apache.org/proper/commons-dbcp/需要特別指出的是,如果采用其它數(shù)據(jù)庫,或連接池的話,不要忘記加上對應(yīng)的Jar文件或Maven所需要的dependency信息(如果是Maven項(xiàng)目的話)。

第二個(gè)Bean是個(gè)匿名bean,也就是沒有為其指定ID,當(dāng)然依賴Spring的規(guī)則,在這個(gè)bean初始化時(shí)會為其自動添加一個(gè)ID,具體細(xì)節(jié),您可以Spring相關(guān)規(guī)范。這個(gè)匿名bean的parent屬性指向一個(gè)ID為bdf2.dataSourceRegister的bean,也就是說當(dāng)前的匿名bean是一個(gè)與ID為bdf2.dataSourceRegister的bean相同類型的bean,它有三個(gè)property,第一個(gè)就是指定它要采用的數(shù)據(jù)源連接池的ID,這里我們用的是第一個(gè)ID為dataSource的bean;第二個(gè)property是為這個(gè)數(shù)據(jù)源起一個(gè)名字,因?yàn)锽DF2是支持多數(shù)據(jù)源的,支持多數(shù)據(jù)源在運(yùn)行時(shí)動態(tài)切換的,所以需要為每個(gè)數(shù)據(jù)源定義一個(gè)名字,比如這里采用的是mysql作為其名稱;第三個(gè)屬性是用于定義當(dāng)前數(shù)據(jù)源是否為默認(rèn)數(shù)據(jù)源,當(dāng)然也是因?yàn)槎鄶?shù)據(jù)源功能所以才需要這個(gè)屬性。

第三個(gè)Bean它的parent是bdf2.sessionFactory,同樣表示其與bdf2.sessionFactory是同一類型的bean,從名字可以看出,這個(gè)bean用于配置Hibernate的SessionFactory,這個(gè)bean從平臺角度來看是非常重要的,前面提到過,BDF2不再為各個(gè)模塊提供建表的SCHEMA,創(chuàng)建表的工作將由Hibernate完成,所以配置好SessionFactory顯示尤為重要。這里要著重指出的是這個(gè)bean的下面兩個(gè)屬性:一個(gè)是entityInterceptor屬性,這個(gè)屬性一定要設(shè)置成這里的bdf2.unByteCodeProxyInterceptor,這樣才能保證Dorado7提交上來的JavaBean能被Hibernate的Session處理(Dorado7對提交上來的Bean做了代理處理,如果不加這個(gè)Bean,HibernateSession無法處理這種被代理過的對象);另一個(gè)就是hibernateProperties屬性下的hibernate.hbm2ddl.auto屬性,熟悉Hibernate的程序員都知道它的作用,這里設(shè)置成update,就表示系統(tǒng)在初始化時(shí)會自動將Session中的實(shí)體對象與數(shù)據(jù)庫中表進(jìn)行比對,如果不存在就自動創(chuàng)建對應(yīng)的表,這樣就可以省掉我們?yōu)锽DF2各模塊創(chuàng)建表的時(shí)間。當(dāng)然關(guān)于HibernateSessionFactory的配置還有很多,有興趣的程序員可以去Hibernate官網(wǎng)查找一下,所有屬性這個(gè)Bean都是支持的。

數(shù)據(jù)源配置好之后(不管是采用默認(rèn)的HSQL還是重新定義的數(shù)據(jù)源),就可以將項(xiàng)目啟動查看運(yùn)行效果啦。

如果您使用的是一個(gè)Maven Project,那么可以采用jetty:run來啟動服務(wù),但如果您采用的是傳統(tǒng)的Dynamic WebProject,那么就可以直接使用J2EE版Eclipse中提供的server,配置一個(gè)Tomcat運(yùn)行服務(wù)即可,下圖中我采用的就是J2EE版Eclipse中提供的server來運(yùn)行服務(wù):


服務(wù)啟動后,訪問我們的應(yīng)用,可以看到如下圖所示的主頁面:


當(dāng)前頁面顯示的內(nèi)容,實(shí)際上是項(xiàng)目根下index.jsp中定義的內(nèi)容,如上圖所示,這個(gè)頁面主要是引導(dǎo)我們在第一次運(yùn)動項(xiàng)目時(shí)需要做的工作。第一次運(yùn)行項(xiàng)目,所有表系統(tǒng)已經(jīng)幫助我們自動創(chuàng)建完成了,但系統(tǒng)里還沒有用戶,所以在登錄之前我們需要創(chuàng)建一系統(tǒng)管理員賬號:點(diǎn)擊上圖中的第2項(xiàng),創(chuàng)建一個(gè)新公司的系統(tǒng)管理員賬號,點(diǎn)擊之后我們可以看到如下圖所示的界面:


可以看到,在注冊系統(tǒng)管理員時(shí)還需要我們注冊一些公司信息,這是因?yàn)锽DF2支持SAAS模式運(yùn)營的系統(tǒng),通過這里的公司ID,將不同公司ID下的用戶、權(quán)限等相關(guān)信息隔離開來;當(dāng)然如果采用BDF2做單公司應(yīng)用,這里的公司ID意義就不大了。

注冊完成之后,系統(tǒng)會提示我們登錄,我們就可以采用剛注冊的賬號登錄,登錄成功之后,可以看到一個(gè)空的,沒有任何菜單項(xiàng)的主界面,如下圖所示:

這時(shí)我們需要初始化系統(tǒng)菜單,初始化系統(tǒng)菜單方法比較簡單,在我們系統(tǒng)系統(tǒng)成功之后,可以回到最初看到的那個(gè)index.jsp頁面,點(diǎn)擊其中的第3項(xiàng):初始化系統(tǒng)菜單,因?yàn)槲覀円训卿洠钥梢渣c(diǎn)擊這個(gè)鏈接,點(diǎn)擊鏈接會新開一個(gè)頁面,在菜單初始化完成之后,系統(tǒng)會有如下提示:

Successful generating system menu

這就表示系統(tǒng)菜單初始化完成了,再次回到登錄成功之后的主界面,就可以看到如下圖所示的帶有導(dǎo)航菜單的主界面了:


可以看到生成的菜單只有一些諸如菜單管理之類的基本信息及權(quán)限管理兩部分,這是因?yàn)槲覀儺?dāng)前項(xiàng)目當(dāng)中只有一個(gè)BDF2-CORE模塊,所以只會產(chǎn)生這些導(dǎo)航菜單,相應(yīng)的,如果把其它模塊加到項(xiàng)目當(dāng)中,再次初始化系統(tǒng)菜單就可以看到其它模塊附帶頁面的URL菜單。

到這里為止,BDF2項(xiàng)目的創(chuàng)建與基本就完成了,接下來我們來深入到具體模塊了解提供的功能。









以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號