<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-67  評論-522  文章-0  trackbacks-0
        JavaEE企業級開發中,以SSH2框架為核心的應用非常廣,大象根據項目實踐經驗,通過一個實例,詳細的為大家講解如何實現全注解式的開發。
        開發環境
        JDK1.6.0_18
        Eclipse3.2.1
        MyEclipse5.1.0
        Tomcat6.0.10
        MySQL5.0.27
        Navicat Lite for MySQL 8.1.20
        每個人的開發環境可能會有差異,但有一點我需要說明的是,JDK的版本不得低于1.5,因為用到了很多1.5版才支持的新特性。TomcatMySQL不要低于我所用的版本,因為我沒在其它的版本上進行測試。Navicat則是MySQL數據庫的圖形化操作工具。我在這里假定各位目前已經設置好了開發環境,下面就開始詳細的說明。
        由于要闡述的內容比較多,大象決定將它們劃分成個幾章節來講,這一章就主要來說說jar包的選擇。
        第一部分選擇必須的jar
        新建一個web項目,然后將必要的jarCOPYlib里面。根據本文實例demo,大象給出下圖中的最少jar包配置。

            
        我對這些jar包進行一下說明,方便大家理解。
        
        解壓Struts2.1.6lib文件夾,從中選出上面7jar包添加到我們的工程庫中。commons-loggingfreemarkerognlstruts2-corexwork5個還是struts2的核心包。但在Struts2.1.6這個版本中,還需要加上commons-fileupload包。如果沒有,則啟動就會報錯,不過不需要像網上傳言的那樣還得加上commons-iojar包,這些大象都親自做過測試。在本實例中,我將對struts2也采取注解的方式,所以用到了struts2-convention-plugin-2.1.6.jar這個插件。因為要與spring整合,所以struts2-spring-plugin-2.1.6.jar也必不可少。
        
        大象在這里偷個懶,直接將spring的完整jar包加了進來,如果各位想精簡類庫的話,就選取它的分類jar包吧。比如本例使用struts2作為MVC框架,所以springwebmvc就不可能用到了。有想改的朋友請自己動手改下。另外有點我想說下,如果采取完整springjar包,還需要Spring2.5.6\lib\concurrent文件夾中的backport-util-concurrent.jar,如果不加這個,spring會報錯。但是采取spring分類jar包的形式,這個可以不用加,至于具體使用什么需要依賴這個包,大象還沒去測試過,這個有待驗證。還有lib\slf4j下的日志包,目前很多都開始采用基于slf4j接口的日志器,它的好處就是日志器是根據slf4j的接口來進行實現,可以在不改變代碼的情況下更換日志器。最后Spring的源代碼中使用的是commons-logging記錄日志,因此這個包不能少,不過因為struts2也用到了,所以這里就省了。
        
        Hibernate3.3版開始,對jar包結構做了一次大的調整,我們只需要加入lib\required文件夾下面的6jar包。請注意這6jar包都是使用Hibernate所必須的。另外再加上hibernate核心包。這里我將slf4j-api-1.5.2.jar換成了1.5.0,這是因為slf4j是一個通用日志接口,不提供任何實現,我在demo里面使用的是log4j,而hibernate包里面沒有log4jslf4j實現。而且如果版本不一致,會有異常,因此我就采用Spring2.5.6\lib\slf4j里面提供的配套版本。另外我將commons-collections-3.1.jar換成了Struts2.1.6里面的3.2版。
        
        例子中使用Hibernate JPA來完成實體對象映射,所以上面這些包都必不可少。使用注解的方式,可以不用寫繁瑣的配置文件,降低了出錯機率。而且現在很多人都喜歡這種方式。大家可以去sourceforge下載。

        下載地址http://sourceforge.net/projects/hibernate/files/

        
        本例使用DBCP連接池來管理數據源。
        
        MySQL數據庫的連接驅動。
        
        這個包的作用是創建動態代理對象。比如在使用AOP方式管理spring事務時,如果我們的目標對象沒有實現接口,而又要使用AOP來處理事務,這時就需要用到這個jar包。可以在Spring2.5.6\lib\cglib里面找到。
        
        JSTL標簽庫,很經典的東東,如果需要可以將它們加入lib中。
        大象在這里建議大家做開發的時候,不要過多的依賴MyEclipse提供的那些功能,多用手動的方式來做。那樣方便是方便了,但不利于學習。比如加入上面這些開發所用的類庫,這樣可以更清楚的了解每個jar包的作用,增加知識的積累,方便以后調試。Ok,關于這部分的內容到這里就說完了,那么,我們下次繼續。
        
    本文為菠蘿大象原創,如要轉載請注明出處。http://www.tkk7.com/bolo
    posted on 2010-04-11 22:24 菠蘿大象 閱讀(22516) 評論(35)  編輯  收藏 所屬分類: Struts2

    評論:
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2010-04-11 22:46 | E2
    從來就不用MyEclipse  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2010-04-11 23:22 | 菠蘿大象
    例子我做好了,寫得比較簡單,主要是方便大家理解與學習,關鍵問題是用文字把它表述出來需要點時間。看過我博客的朋友應該知道,大象是個很負責的人,我一直都是很用心在寫博客。我從來沒有從網上隨便抄一些文字和代碼來敷衍了事。所有的字句都傾注了我的理解與總結。所有的例子都親自做過測試過。所以請大家耐心等下,后面的章節很快就會出來。  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一)[未登錄] 2010-04-12 08:33 | 小人物
    頂一個!!!  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2010-04-13 12:58 | gouf
    值得看下看, 特別是spring的 ^^  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一)[未登錄] 2010-04-15 16:18 | 追求
    好文章 ,簡述了一個項目的主要框架思想及代碼實現 再贊一個,辛苦這么晚還在為IT業做貢獻,之前一直也想寫這類文章,怎耐本人太懶   回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2010-04-15 19:45 | 菠蘿大象
    @追求
    呵呵,謝謝支持  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2010-04-19 23:28 | 三國阿海
    我總算注冊成功了,忙了我大半個小時。我還以為是我一定要注冊那個什么的郵箱。

    后來才在Yahoo收到,BlogJava給我發的信息。  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2010-04-20 10:30 | keer
    netbeans...  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2010-04-22 08:34 | 稅國政
    樓主能否給出代碼下載呢?  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一)[未登錄] 2010-04-23 14:13 | javaStudy
    不錯。對jar包的選擇講解的很好。網上其他的一些文章中都是說,把什么框架的lib下的jar全拷到工程里,說是為了,省事,不易出錯。  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2010-04-23 15:57 | 菠蘿大象
    @javaStudy
    謝謝支持,你說的很對,那樣做一點用處都沒有,寫的人不清楚,看得人更不清楚。大象就是想讓大家看點有用的東西,僅此而已。  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2010-04-26 10:51 | software-Andy
    樓主嚴謹的態度讓人敬佩啊
    好文章,值得借鑒  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2010-04-26 12:44 | 菠蘿大象
    @software-Andy
    謝謝支持。  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一)[未登錄] 2010-10-09 18:51 | nassir
    請問下菠蘿大象,在你這個ssh2項目中sessionFactory是如何注入到HibernateDaoSupport中去了,我通過注釋搭建項目,加載XML文件時,怎么老報 Caused by: java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required
    提示我sessionFactory沒有注入

    希望有時間幫忙給個解釋,謝謝

    我的郵箱:nassir@126.com
      回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2010-10-11 14:32 | 菠蘿大象
    @nassir
    這位童鞋你好,首先謝謝你關注我的博客。我想問下,你將我的這五篇文章都仔細的看完了嗎?恩,是仔細的,如果還不是很清楚的話,再多看幾遍,另外把我提供的源碼下下來也看看。確認自己都搞清楚沒問題了,再動手做吧。我碰到有很多朋友都是還沒仔細的看,就急著開始動手做了,后來他們按我的建議,都自己解決了,希望你也能自己解決,如果還有什么不清楚的,請在回復中寫出來,我會看到的。  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2011-02-17 13:17 | sdfsdf
    關注SSH中,謝謝啦  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2011-03-17 18:40 | taote
    今天報了一個錯誤,java.lang.ClassCastException: org.hibernate.annotations.common.reflection.ja。。。。。。
    查了好多遍原來是hibernate的annotation的jar包沖突了。我用的是hibernate3.6,所以hibernate-annotations.jar和hibernate-commons-annotations.jar這兩個jar就不要加了,hibernate3.5以后已經集成了annotation了。  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2011-03-17 22:55 | 菠蘿大象
    @taote
    我沒用3.6的進行測試,謝謝你的提醒,大象非常感謝  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一)[未登錄] 2011-04-28 17:59 | AAA
    好好好 贊贊贊  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2011-05-03 23:59 | huanghao
    樓主,謝謝分享  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2011-05-14 11:29 | 文學社
    看來還要加強學習。  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2011-05-16 16:40 | 李亮
    為什么源碼里面的注解都是亂碼  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2011-05-16 18:02 | 菠蘿大象
    @李亮
    你工作空間設置的是什么編碼?我用的是UTF-8編碼  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2011-06-04 09:49 | wings
    謝謝  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2011-06-13 17:05 | 李曉陽
    請問下菠蘿大象,你在這個框架的用到的jar包能不能給我發一份,郵箱地址是xupengfei666@163.com,萬分感謝啊。  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2011-06-13 17:09 | 菠蘿大象
    @李曉陽
    還在使用老方法做啊?改成maven吧,沒看到傳統做法我已經沒寫了嗎?你想要我還是可以發給你的,你不覺得傳統方式很麻煩么,效率也不高  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一)[未登錄] 2011-08-01 13:12 | 海風
    多謝分享,對我很有用,學習了!  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2012-10-09 09:59 | 伍葉春
    缺少包:
    commons-lang-2.5.jar

    否則StringUtils.isNotBlank(name)報錯.
      回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2012-10-09 10:04 | 菠蘿大象
    @伍葉春
    我這里所說的,是必須有的jar包,commons-lang是可選的,第五篇最下面,有本例所用到的jar包。你可以去看看  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2013-09-10 16:42 | 李登峰
    大象你好,三大框架service層,dao層都有接口嗎?你這這么沒有,那個接口主要有什么意義  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2013-09-27 10:01 | 菠蘿大象
    @李登峰
    其實對于業務來說,要不要接口已經沒有區別了,相反搞接口還顯得麻煩,接口的定義是一種抽象,對于業務來說你根本就抽象不出來,你不知道什么時候需求就變了。  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2013-10-08 14:34 | 求指導
    大象,您好,謝謝您詳細的說明,能把jar包發一份到我的郵箱嗎?baoxilin@126.com  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2013-11-23 16:14 | asdasd
    沒接口 怎么用aop創建動態代理對象@菠蘿大象
      回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一)[未登錄] 2014-07-21 13:09 | lxl
    講的太好了,真心感謝你的講解,思路清晰,受益匪淺~謝謝~  回復  更多評論
      
    # re: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一) 2015-01-17 10:01 | ld
    可以發一份Struts2.1.6+Spring2.5.6+Hibernate3.3.1源碼我學下嗎zhengshuihong1990@163.com,最近在搭建SSH項目,我在想opesseion怎么關閉,又說在filter可以關,又說,手動關,是不是不用關啊我用的是hibernate3.6的  回復  更多評論
      
    主站蜘蛛池模板: 一本久久A久久免费精品不卡| 美女黄频视频大全免费的| 日本在线免费观看| 亚洲gv白嫩小受在线观看| 老司机精品免费视频| 亚洲中文字幕成人在线| 亚洲天堂免费在线视频| 亚洲中文字幕无码中文字在线| 国产精品美女久久久免费 | 亚洲国产成人久久综合区| 免费看又黄又爽又猛的视频软件| 国产精品成人无码免费| 偷自拍亚洲视频在线观看| 久久久久亚洲精品无码网址| 免费在线黄色电影| 亚洲色偷偷偷网站色偷一区| 性色av无码免费一区二区三区| 亚洲国产日韩a在线播放| 亚洲国产精品尤物yw在线| 免费在线黄色电影| 亚洲人成高清在线播放| 宅男666在线永久免费观看 | 性xxxx黑人与亚洲| 国产一区二区三区免费视频| 日本激情猛烈在线看免费观看| 亚洲韩国精品无码一区二区三区 | 97国免费在线视频| 亚洲精品免费在线| 日本免费网站观看| 精品一卡2卡三卡4卡免费视频| 91亚洲国产成人精品下载| 日本免费中文字幕在线看| 国产精品hd免费观看| 亚洲综合激情六月婷婷在线观看| 在线中文高清资源免费观看| 乱人伦中文视频在线观看免费| 亚洲宅男永久在线| 国产高清在线免费| 日韩免费无码视频一区二区三区| 亚洲色大情网站www| 久久青青草原亚洲AV无码麻豆 |