freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的博客網(wǎng)站設(shè)計與開發(fā)畢業(yè)論文正稿(編輯修改稿)

2024-07-19 17:42 本頁面
 

【文章內(nèi)容簡介】 現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗等工作放在中間層處理。客戶端不直接與數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。Jsp廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅實的基礎(chǔ)。中間層采用的是流行的Spring+Hibernate ,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種。Web 層,就是MVC 模式里面的C,負(fù)責(zé)邏輯層和表現(xiàn)層的交互。調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的MVC采用Struts框架。Service 層(就是業(yè)務(wù)邏輯層),負(fù)責(zé)實現(xiàn)業(yè)務(wù)邏輯。業(yè)務(wù)邏輯層以DAO 層為基礎(chǔ),通過對DAO 組件的正面模式包裝,完成系統(tǒng)所要求的業(yè)務(wù)邏輯。DAO 層,負(fù)責(zé)與持久化對象交互。該層封裝了數(shù)據(jù)的增、刪、查、改的操作。PO ,持久化對象。通過實體關(guān)系映射工具將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)映射成對象,很方便地實現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫,該系統(tǒng)采用Hibernate 作為ORM 框架。Spring 的作用貫穿了整個中間層,將Web 層、Service 層、DAO 層及PO 無縫整合,其數(shù)據(jù)服務(wù)層用來存放數(shù)據(jù)。第2節(jié) Hibernate層通過使用Hibernate 持久層,可以避免使用傳統(tǒng)的JDBC 操作數(shù)據(jù)庫,對JDBC近一步包裝,從而更好地使用面向?qū)ο蟮姆绞絹聿僮鲾?shù)據(jù)庫。保證了整個軟件開發(fā)過程以面向?qū)ο蟮姆绞竭M(jìn)行,即面向?qū)ο蠓治?、設(shè)計及編程,透過Hibernte 對PO對象持久化操作,不管插入還是查詢都是通過PO。 設(shè)計持久化對象(PO)面向?qū)ο蠓治觯侵父鶕?jù)系統(tǒng)需求提取應(yīng)用中的對象,將這些對象抽象成類,再抽取出需要持久化保存的類,這些需要持久化保存的類就是持久化對象(PO) 。該系統(tǒng)并沒有預(yù)先設(shè)計數(shù)據(jù)庫,而是完全從面向?qū)ο蠓治鲩_始,設(shè)計了7 個持久化類。本系統(tǒng)一共設(shè)計了如下7 個PO 。1. Blog: 對應(yīng)博客網(wǎng)友的一些基本信息,必如id、username、password、sex、picturename、name、address、uid、subject。還包括一些集合,博友的博文(Articles)、圖片(Pictures)、留言(Messages),這樣在系統(tǒng)中我們可以隨時通過getXxx()訪問博客的一些屬性就不用編寫sql語句來訪問博友的些屬性,2. Picture: 對應(yīng)博友的圖片,包含name、blog,filename,這樣我們可以將圖片的路徑名保存到數(shù)據(jù)庫中,在根據(jù)路徑名訪問博友上傳的圖片,就不用用到數(shù)據(jù)庫中的Blob類型,將圖片數(shù)據(jù)格式轉(zhuǎn)來轉(zhuǎn)去,不過這樣服務(wù)器直接存儲客戶的圖片。3. Messages: 對應(yīng)網(wǎng)友留下的留言,屬性有id、username、Blog、注冊用戶可以查看別人寫的留言,但不能在自己的空間內(nèi)留言。4. FeedBack: 對應(yīng)回復(fù), 包括id、article、username、content。他對于一篇博文,是網(wǎng)友閱讀博文后對博文的評論。該評論無論是誰都可以看到。5. Sort: 對應(yīng)博文分類屬性有Id、Blog 、name、Articles,注冊用戶可以在自己的空間定義一些分類,這樣可以更好管理自己的博文,一個分類對應(yīng)一個Blog,一個分類可能有很多分類。6. Article: 博客系統(tǒng)的核心 對應(yīng)有 title,Id、blog、content、sort,一個博文屬于一種分類,可以有很多回復(fù),7. Links: 對應(yīng)有情連接,包括id、url、name、blog博友通過添加有情連接可以在自己的空間中提供快速的自己關(guān)心的網(wǎng)站??陀^世界中的對象不是孤立存在的,以上7 個PO 也不是孤立存在的,它們之間存在復(fù)雜的關(guān)聯(lián)關(guān)系。分析關(guān)聯(lián)關(guān)系也是面向?qū)ο蠓治龅谋匾襟E,這7 個PO 的關(guān)系如下。Blog除了FeedBack外,與另外5個都是1N的關(guān)系,在blog類里對應(yīng)有個集合。比如messages,是SetArticle 和FeedBack之間存在IN 的關(guān)系,每篇博文可以被很多人評論。Article和sort 之間存在N1 的關(guān)系,即每篇博文只能屬于一種分類中,并且只屬于一個博友,在Hibernate框架中它提供了以xml文件形式出現(xiàn)的映射文件,完成從PO到數(shù)據(jù)庫表映射后,即完成面向?qū)ο蟮某绦蛟O(shè)計語言與關(guān)系數(shù)據(jù)庫的映射。以面向?qū)ο蟮姆绞讲僮麝P(guān)系數(shù)據(jù)庫。 實現(xiàn)DAO 層在Hibernate 持久層之上,可使用DAO 組件再次封裝數(shù)據(jù)庫操作。通過DAO 層,可以讓業(yè)務(wù)邏輯層與具體持久層技術(shù)分離,一旦需要更換持久層技術(shù)時,業(yè)務(wù)邏輯層組件不需要任何改變。因此,使用DAO 組件,即意味著引入DAO 模式,使每個DAO 組件包含了數(shù)據(jù)庫的訪問邏輯:每個DAO 組件可對一個數(shù)據(jù)庫表完成基本的CRUD 等操作。DAO 模式的實現(xiàn)至少需要如下三個部分。1. DAO 工廠類。2. DAO 接口。3. DAO 接口的實現(xiàn)類。DAO 模式是一種更符合軟件工程的開發(fā)方式,使用DAO 模式有如下理由。1) DAO 模式抽象出數(shù)據(jù)訪問方式,業(yè)務(wù)邏輯組件無須理會底層的數(shù)據(jù)庫 訪問,而只專注于業(yè)務(wù)邏輯的實現(xiàn)。2) DAO 將數(shù)據(jù)訪問集中在獨立的一層,所有的數(shù)據(jù)訪問都由DAO 對象完成,這層獨立的DAO 分離了數(shù)據(jù)訪問的實現(xiàn)與其他業(yè)務(wù)邏輯,使得系統(tǒng)更具可維護(hù)性。3) DAO 還有助于提升系統(tǒng)的可移植性。獨立的DAO 層使得系統(tǒng)能在不同的數(shù)據(jù)庫之間輕易切換,底層的數(shù)據(jù)庫實現(xiàn)對于業(yè)務(wù)邏輯組件是透明的。數(shù)據(jù)庫移植時僅僅影響DAO 層,不同數(shù)據(jù)庫的切換不會影響業(yè)務(wù)邏輯組件,因此提高了系統(tǒng)的可復(fù)用性。對于不同的持久層技術(shù), Spring 的DAO 提供一個DAO 模板,將通用的操作放在模板里完成,而對于特定的操作,則通過回調(diào)接口完成。Spring 為Hibernate 提供的DAO 支持類是: HibernateDaoSupport, DAO組件的定義DAO 組件提供了各持久化對象的基本的CRUD 操作。而在DAO 接口里則對DAO組件包含的各種CRUD 方法提供了聲明,但有一些IDE 工具也可以生成基本的CRUD方法。使用DAO 接口的原因是:避免業(yè)務(wù)邏輯組件與特定的DAO組件藕合。由于DAO 組件中的方法不是開始就設(shè)計出來的,其中的很多方法可能會隨著業(yè)務(wù)邏輯的需求而增加,但以下幾個方法是通用的。? get: 根據(jù)主鍵加載持久化實例。? saveor update: 保存或更新持久化實例。? remove: 刪除持久化實例。上面涉及了7個PO,這樣我們必須設(shè)計7個對應(yīng)的PODao 7個Dao必須繼承BaseDao 這個BaseDao 有對接口的一些基本的CURD操作。7個Dao 如下。LinksDao ,BlogDao、FeedBackDao、ArticleDao、MessageDao、SortDao、PictureDao。這7個Dao 分別封裝對自己的持久化對象的一些操作。 實現(xiàn)DAO組件 借助于Spring的DAO支持,可以很方便地實現(xiàn)DAO類。Spring 為Hibernate 的整合提供了很好的支持, Spring 的DAO 支持類是:HiberanteDaoSupport ,該類只需要傳入一個SessionFactory 引用,即可得到一個HibernateTemplate 實例,該實例功能非常強(qiáng)大,數(shù)據(jù)庫的大部分操作也很容易實現(xiàn)。所有的DAO 類都繼承HibernateDaoSupport,并實現(xiàn)相應(yīng)的DAO 接口。而業(yè)務(wù)邏輯對象則面向接口編程,無須關(guān)心DAO 的實現(xiàn)細(xì)節(jié)。通過這種方式,可以讓應(yīng)用在不同的持久化技術(shù)之間切換。LinksDaoHiberante ,BlogDaoHiberante、FeedBackDaoHiberante、ArticleDaoHiberante、MessageDaoHiberante、SortDaoHiberante、PictureDaoHiberante分別是LinksDao ,BlogDao、FeedBackDao、ArticleDao、MessageDao、SortDao、PictureDao的實現(xiàn)類,并繼承HibernateDaoSupport ,并通過Spring IoC容器向7個Dao 實現(xiàn)類注入SessionFactroy ,在7個Dao 的實現(xiàn)類就可以通過HibernateTemplate對PO持久化操作。并借助于Spring 提供的兩個工具類: HibernateDaoSupport和HibernateTemplate,可以很容易地實現(xiàn)DAO 組件。這種簡單的實現(xiàn)較之傳統(tǒng)的JDBC 持久化訪問,簡直不可同日而語。比如我現(xiàn)在要得到所有Blog對象我只需一句 return getHibernateTemplate() .find(from Blog)。則返回一個Blog對象的列表。 部署DAO 層HibernateDaoSupport類只需要一個SessionFactory 屬性,即可完成數(shù)據(jù)庫訪問。SessionFactroy創(chuàng)建Session,而數(shù)據(jù)庫的CRUD操作都是有Session 完成,并將查詢結(jié)果保存在一級緩存中,每次用戶提交一次會話,可能需要Session完成一些數(shù)據(jù)庫的操作而實際的數(shù)據(jù)庫訪問由模板類HibernateTemplate完成,該模板類提供了大量便捷的方法,簡化了數(shù)據(jù)庫的訪問。 DAO 組件運行的基礎(chǔ)應(yīng)用的DAO 組件以Hibernate和Spring 為基礎(chǔ),由Spring 容器負(fù)責(zé)生成并管理DAO組件。Spring 容器負(fù)責(zé)為DAO 組件注入其運行所需要的基礎(chǔ)SessionFactory。Spring 為整合Hibernate 提供了大量工具類,通過LocalSessionFactoryBean 類,可以將Hibernate 的SessionFactory 納入其IoC 容器內(nèi)。使用LocalSessionFactoryBean 配置SessionFactory之前,必須為其提供對應(yīng)的數(shù)據(jù)源,配置代碼如下:bean id=dataSourceclass=/在datasource中配置它的數(shù)據(jù)庫驅(qū)動driverClass,URL,username、password 、inPoolSize、maxPoolSize 不管我們采用那種數(shù)據(jù)庫我就可以在修改dataSource 的一些屬性而不改動程序,將程序和數(shù)據(jù)庫的耦合降到最低。 配置DAD 組件在將dataSource注入到上面簡述的7個Dao中,就可以用HibernateTemplate提供的大量便捷的方法。進(jìn)一步簡化了持久層討問,其模板的操作大大降低Hibernate 的重復(fù)操作。Spring 提供的DAO 支持簡化了DAO 開發(fā);SessionFactory 的依賴注入簡化了Session 的控制等。這些都極大地提高J2EE應(yīng)用的開發(fā)效率。聲明式事務(wù)的管理分離了業(yè)務(wù)邏輯和事務(wù)邏輯,將應(yīng)用從特定的事務(wù)邏輯中解料,使應(yīng)用可以方便地在不同的事務(wù)策略之間切換。在所有的ORM 框架中, Sping 對Hibernate 的支持最好。Spring 提供很多IoC 特性的支持,方便地處理大部分典型的Hibernate 整合問題,如SessionFactory 的注入到7個PODao中、HibernateTemplate 的簡化操作及DAO 支持等,然后在7個PODao實現(xiàn)類繼承HibernateDaoSupport,這樣的話,Dao實現(xiàn)類就可以通過HibernateTemplment以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫。另外, Spring 還提供了統(tǒng)一的異常體系及聲明式事務(wù)管理等。一旦Hibernate 處于Spring 的管理下, Hibernate 所需要的基礎(chǔ)資源,都由Spring 提供注入。Hibernate創(chuàng)建SessionFactory 必需的DataSource ,執(zhí)行持久化必需的Session 及持久層訪問必需的事務(wù)控制等,這些原本必須通過代碼控制的邏輯,都將由Spring 接管:Dat
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1