菠蘿大象
用心思考,用心寫作
首頁
新隨筆
聯系
管理
隨筆-67 評論-522 文章-0 trackbacks-0
Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一)
在
JavaEE
企業級開發中,以
SSH2
框架為核心的應用非常廣,大象根據項目實踐經驗,通過一個實例,詳細的為大家講解如何實現全注解式的開發。
開發環境
JDK
1.6.0
_18
Eclipse
3.2.1
MyEclipse
5.1.0
Tomcat
6.0.10
MySQL
5.0.27
Navicat Lite for MySQL
8.1.20
每個人的開發環境可能會有差異,但有一點我需要說明的是,
JDK
的版本不得低于
1.5
,因為用到了很多
1.5
版才支持的新特性。
Tomcat
和
MySQL
請
不要低于我所用的版本,因為我沒在其它的版本上進行測試。
Navicat
則是
MySQL
數據庫的圖形化操作工具。我在這里假定各位目前已經設置好了開發環境,下面就開始詳細的說明。
由于要闡述的內容比較多,大象決定將它們劃分成個幾章節來講,這一章就主要來說說
jar
包的選擇。
第一部分
:
選擇必須的
jar
包
新建一個
web
項目,然后將必要的
jar
包
COPY
到
lib
里面。根據本文實例
demo
,大象給出下圖中的最少
jar
包配置。
我對這些
jar
包進行一下說明,方便大家理解。
解壓
Struts
2.1.6
的
lib
文件夾,從中選出上面
7
個
jar
包添加到我們的工程庫中。
commons-logging
、
freemarker
、
ognl
、
struts2-core
、
xwork
這
5
個還是
struts2
的核心包。但在
Struts2.1.6
這個版本中,還需要加上
commons-fileupload
包。如果沒有,則啟動就會報錯,不過不需要像網上傳言的那樣還得加上
commons-io
的
jar
包,這些大象都親自做過測試。在本實例中,我將對
struts2
也采取注解的方式,所以用到了
struts2-convention-plugin-2.1.6.jar
這個插件。因為要與
spring
整合,所以
struts2-spring-plugin-2.1.6.jar
也必不可少。
大象在這里偷個懶,直接將
spring
的完整
jar
包加了進來,如果各位想精簡類庫的話,就選取它的分類
jar
包吧。比如本例使用
struts2
作為
MVC
框架,所以
spring
的
webmvc
就不可能用到了。有想改的朋友請自己動手改下。另外有點我想說下,如果采取完整
spring
的
jar
包,還需要
Spring
2.5.6
\lib\
concurrent
文件夾中的
backport-util-concurrent.jar
,如果不加這個,
spring
會報錯。但是采取
spring
分類
jar
包的形式,這個可以不用加,至于具體使用什么需要依賴這個包,大象還沒去測試過,這個有待驗證。還有
lib\
slf4j
下的日志包,目前很多都開始采用基于
slf4j
接口的日志器,它的好處就是日志器是根據
slf4j
的接口來進行實現,可以在不改變代碼的情況下更換日志器。最后
Spring
的源代碼中使用的是
commons-logging
記錄日志,因此這個包不能少,不過因為
struts2
也用到了,所以這里就省了。
Hibernate
從
3.3
版開始,對
jar
包結構做了一次大的調整,我們只需要加入
lib\required
文件夾下面的
6
個
jar
包。請注意這
6
個
jar
包都是使用
Hibernate所
必須的。另外再加上
hibernate
核心包。這里我將
slf4j-api-
1.5.2
.jar
換成了
1.5.0
,這是因為
slf4j
是一個通用日志
接口,不提供任何實現,我在
demo
里面使用的是
log4j
,而
hibernate
包里面沒有
log4j
的
slf4j
實現。而且如果版本不一致,會有異常,因此我就采用
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
包。可以在
Spring
2.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的
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
由Struts2Action代理和googlecode-jsonplugin產生的一個IllegalArgumentException異常問題
SSH2項目的Maven版下載
基于SSH2框架AspectJ的登錄登出日志實現
基于SSH2框架Struts2攔截器的登錄驗證實現
Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(五)
Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(四)
Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(三)
Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(二)
Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一)
<
2010年4月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
隨筆分類
(67)
Concurrency(3)
Database(4)
dom4j&jdom(3)
Eclipse(3)
Flex(4)
Hibernate(2)
Java(11)
jBPM(1)
jQuery(5)
Linux(1)
mybatis-generator(3)
Spring3(11)
Struts2(9)
隨筆(7)
隨筆檔案
(67)
2015年9月 (1)
2015年8月 (1)
2015年7月 (1)
2015年5月 (1)
2015年4月 (1)
2015年3月 (3)
2015年2月 (1)
2015年1月 (2)
2014年8月 (1)
2014年6月 (2)
2014年5月 (2)
2014年4月 (3)
2014年3月 (1)
2014年2月 (1)
2014年1月 (2)
2013年12月 (3)
2013年11月 (2)
2013年10月 (2)
2013年9月 (2)
2012年5月 (1)
2012年4月 (2)
2011年8月 (1)
2011年6月 (1)
2011年5月 (3)
2010年9月 (1)
2010年8月 (1)
2010年7月 (1)
2010年6月 (1)
2010年5月 (2)
2010年4月 (4)
2010年3月 (2)
2010年2月 (7)
2008年9月 (2)
2008年8月 (6)
搜索
積分與排名
積分 - 780863
排名 - 54
最新隨筆
1.?由Struts2Action代理和googlecode-jsonplugin產生的一個IllegalArgumentException異常問題
2.?在CentOS系統中同步時間
3.?全局唯一ID生成器淺析
4.?用Java實現MJD轉UTC
5.?修改mybatis-generator-1.3.2源碼實現自定義代碼生成詳解(三)
6.?修改mybatis-generator-1.3.2源碼實現自定義代碼生成詳解(二)
7.?修改mybatis-generator-1.3.2源碼實現自定義代碼生成詳解(一)
8.?Quartz Spring與Spring Task總結
9.?常用的MySQL復雜查詢語句寫法
10.?常用的MySQL語句寫法
11.?淺談Java兩種并發類型——計算密集型與IO密集型
12.?使用XStream注解實現Java對象與XML互相轉換的代碼示例
13.?淺談volatile變量的理解
14.?淺談Java共享變量
15.?m2eclipse安裝小貼士
最新評論
1.?re: 修改mybatis-generator-1.3.2源碼實現自定義代碼生成詳解(一)
評論內容較長,點擊標題查看
--半湖思絮
2.?re: 修改mybatis-generator-1.3.2源碼實現自定義代碼生成詳解(一)
評論內容較長,點擊標題查看
--菠蘿大象
3.?re: 修改mybatis-generator-1.3.2源碼實現自定義代碼生成詳解(一)
評論內容較長,點擊標題查看
--donghc
4.?re: 修改mybatis-generator-1.3.2源碼實現自定義代碼生成詳解(一)
@donghc
maven不是這樣玩的呀,我的run是打包后用的,你仔細看了第三篇的內容么?在IDE里直接啟動StartUp就行了,這個類是用來測試的
--菠蘿大象
5.?re: 修改mybatis-generator-1.3.2源碼實現自定義代碼生成詳解(一)
評論內容較長,點擊標題查看
--donghc
閱讀排行榜
1.?使用jackson對Java對象與JSON字符串相互轉換的一些總結(59335)
2.?在Eclipse中反編譯Class文件完全詳解(43597)
3.?Quartz Spring與Spring Task總結(38575)
4.?使用XStream注解實現Java對象與XML互相轉換的代碼示例(33138)
5.?Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解實例詳解(二)(32454)
評論排行榜
1.?Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(五)(69)
2.?Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(三)(47)
3.?Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(一)(35)
4.?Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解實例詳解(二)(27)
5.?Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解實例詳解(三)(26)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 菠蘿大象
主站蜘蛛池模板:
一本久久A久久免费精品不卡
|
美女黄频视频大全免费的
|
日本在线免费观看
|
亚洲gv白嫩小受在线观看
|
老司机精品免费视频
|
亚洲中文字幕成人在线
|
亚洲天堂免费在线视频
|
亚洲中文字幕无码中文字在线
|
国产精品美女久久久免费
|
亚洲国产成人久久综合区
|
免费看又黄又爽又猛的视频软件
|
国产精品成人无码免费
|
偷自拍亚洲视频在线观看
|
久久久久亚洲精品无码网址
|
免费在线黄色电影
|
亚洲色偷偷偷网站色偷一区
|
性色av无码免费一区二区三区
|
亚洲国产日韩a在线播放
|
亚洲国产精品尤物yw在线
|
免费在线黄色电影
|
亚洲人成高清在线播放
|
宅男666在线永久免费观看
|
性xxxx黑人与亚洲
|
国产一区二区三区免费视频
|
日本激情猛烈在线看免费观看
|
亚洲韩国精品无码一区二区三区
|
97国免费在线视频
|
亚洲精品免费在线
|
日本免费网站观看
|
精品一卡2卡三卡4卡免费视频
|
91亚洲国产成人精品下载
|
日本免费中文字幕在线看
|
国产精品hd免费观看
|
亚洲综合激情六月婷婷在线观看
|
在线中文高清资源免费观看
|
乱人伦中文视频在线观看免费
|
亚洲宅男永久在线
|
国产高清在线免费
|
日韩免费无码视频一区二区三区
|
亚洲色大情网站www
|
久久青青草原亚洲AV无码麻豆
|