??? 春天來(lái)了,我也要干點(diǎn)啥了.湊湊熱鬧吧.
??? 先看了幾天書(shū),甚么aop,ioc 看的頭暈眼花的,唉,領(lǐng)悟能力有限啊....愣是沒(méi)明白....但是堅(jiān)定一個(gè)信念,spring就是好,一定要學(xué)...特別是我這種停留在原始編程水平的人不學(xué)東西要被人仍了的.做IT的真慘!
??? 行,動(dòng)動(dòng)手連連,比看書(shū)強(qiáng)點(diǎn)吧,網(wǎng)上搜索了例子仿照做吧!hehe,現(xiàn)在好像"用戶登陸"成了代替helloworld的標(biāo)準(zhǔn)例子.甚么框架都是login....還好.搜索到個(gè)一個(gè)很好的blog,一個(gè)ssh的例子,大俠步驟寫的很詳細(xì),就開(kāi)始了我的模仿之路.......小弟地址不敢保留,貼出來(lái)給大家共享http://m.tkk7.com/oksonic/archive/2005/11/06/18370.html,希望和我一樣迷茫的小蝦米們也能獲得一點(diǎn)點(diǎn)啟示....
???
??? 模仿了這個(gè)例子N遍,出現(xiàn)了N多問(wèn)題,從搭環(huán)境,到一些mistake,唉問(wèn)題真多啊......
??? 好不容易跑起來(lái)了,開(kāi)始幾天硬是沒(méi)有明白spring在干甚么.感覺(jué)就是接管了struts的action.別的一點(diǎn)感覺(jué)沒(méi)有.看了看網(wǎng)上,似乎好多人都感覺(jué)不到spring的存在,不知道他在做甚么...好神奇啊...呵呵
???
??? 實(shí)在不行,再找找有甚么速成的沒(méi)有,后來(lái)看見(jiàn)appfus,又去看了幾天....也是搞的懵懵懂懂...就是發(fā)現(xiàn)他接口特別多,目錄結(jié)構(gòu)和我們不一樣....
???
??? 今天又仔細(xì)看了看appfus的例子,仔細(xì)整理了下他的思路,確切的說(shuō)是他的思想. 項(xiàng)目的mvc,針對(duì)接口編程.
再看了看他的目錄接口,好好理解了下.他目錄分3大塊,DAO,SERVICE,WEBAPP,難道這就是傳說(shuō)的mvc?
DAO,SERVICE里面又分2塊,一塊是interface,一塊是implement.DAO里面主要是對(duì)數(shù)據(jù)庫(kù)的對(duì)象CRUD操作,他例子是用hibernate實(shí)現(xiàn)的,SERVICE里面是對(duì)數(shù)據(jù)對(duì)象的邏輯處理,webapp里面主要是些轉(zhuǎn)向,過(guò)濾器,action之類的view層的東西,他用的是struts..........而且每塊都有base類被子類去繼承,減少重復(fù)代碼,現(xiàn)在思路好像清晰了許多,于是馬上修改了下自己的demo的程序結(jié)構(gòu)...感覺(jué)appfus的例子還真不錯(cuò),至少在結(jié)構(gòu)上很清楚.......而且都是針對(duì)接口編程,程序可擴(kuò)展性很高,維護(hù)起來(lái)很容易,如果要改邏輯,只要去替換或者修改相應(yīng)的實(shí)現(xiàn)類就行了.....
??? 回頭又做了一遍那個(gè)login例子,在做配置文件的時(shí)候他老提示我一個(gè)<bean>有錯(cuò)誤,說(shuō)是對(duì)應(yīng)的類沒(méi)有property對(duì)應(yīng)對(duì)象的setter 方法....我郁悶了老半天,我記得上次好像沒(méi)有提示這個(gè)錯(cuò)誤吧........極度郁悶,想了一陣悟出了一些,難道這就是傳說(shuō)中的ioc?spring應(yīng)該是要把name屬性里面的對(duì)象注入到local對(duì)應(yīng)的對(duì)象里面吧????但是不敢確定,而且錯(cuò)誤也每搞定,決定低聲下氣的問(wèn)同事小朋友(19歲),他說(shuō)當(dāng)然了,我說(shuō)那為什么上次沒(méi)有提示我這個(gè)錯(cuò)誤呢.....他說(shuō)錯(cuò)了就是錯(cuò)了,沒(méi)有甚么為什么,搞的我郁悶了老板田,回來(lái)自己吭哧吭哧的慢慢搞,唉...............命苦啊........只好根據(jù)提示加了setter getter ,唉.程序倒是pass過(guò)了,,但是這個(gè)原因愣是每明白,想想,,算了...以后再說(shuō)吧...后來(lái)繼續(xù)改進(jìn)程序做試驗(yàn),加入hibernate驗(yàn)證用戶登陸,靠,他竟然提示我開(kāi)始的getter方法錯(cuò)誤,,仔細(xì)看了看紅叉,怎么是不能重寫一個(gè)final的方法.......再回想下之前的問(wèn)題,靠,原來(lái)問(wèn)題出在這里.......難道這就是spring對(duì)hibernate支持很好的重要體現(xiàn)之一??......ps:spring的HibernateDaoSupport封裝的還真是好,減少了不少代碼操作,saveOrUpdate(obj)就可以了,呵呵....又發(fā)現(xiàn)spring的一個(gè)好處.....
??? 書(shū)本上大力宣傳的spring的AOP,IOC.......今天有了一點(diǎn)點(diǎn)感覺(jué).對(duì)象的注入,對(duì)方法的攔截,對(duì)hibernate的良好支持,封裝.漸漸讓我感覺(jué)到了真實(shí)的spring.....發(fā)現(xiàn)了spring的作用.這樣寫程序思路還真是很清楚,面向接口的編程,spring的組裝,似乎讓我有點(diǎn)點(diǎn)興奮,自己的編程思想上升了不少....但是前方的路還是很遙遠(yuǎn),特別是對(duì)我這種小鳥(niǎo),要學(xué)的還很多很多,.....路漫漫其修遠(yuǎn)兮,吾將上下而求索.......新手起步,老鳥(niǎo)毋笑