zoukankan
html css js c++ java
[转载]Struts2.1.6+Spring2.5.6+Hibernate3.3.
原文地址:
Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(一)(转载大象)
作者:
沉睡森林
在
JavaEE
企业级开发中,以
SSH2
框架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。
开发环境
JDK 1.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
版才支持的新特性。
Tomcat
和
MySQL
请
不要低于我所用的版本,因为我没在其它的版本上进行测试。
Navicat
则是
MySQL
数据库的图形化操作工具。我在这里假定各位目前已经设置好了开发环境,下面就开始详细的说明。
由于要阐述的内容比较多,大象决定将它们划分成个几章节来讲,这一章就主要来说说
jar
包的选择。
第一部分
:
选择必须的
jar
包
新建一个
web
项目,然后将必要的
jar
包
COPY
到
lib
里面。根据本文实例
demo
,大象给出下图中的最少
jar
包配置。
我对这些
jar
包进行一下说明,方便大家理解。
解压
Struts2.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
包,还需要
Spring2.5.6lib
concurrent
文件夹中的
backport-util-concurrent.jar
,如果不加这个,
spring
会报错。但是采取
spring
分类
jar
包的形式,这个可以不用加,至于具体使用什么需要依赖这个包,大象还没去测试过,这个有待验证。还有
lib
slf4j
下的日志包,目前很多都开始采用基于
slf4j
接口的日志器,它的好处就是日志器是根据
slf4j
的接口来进行实现,可以在不改变代码的情况下更换日志器。最后
Spring
的源代码中使用的是
commons-logging
记录日志,因此这个包不能少,不过因为
struts2
也用到了,所以这里就省了。
Hibernate
从
3.3
版开始,对
jar
包结构做了一次大的调整,我们只需要加入
librequired
文件夹下面的
6
个
jar
包。请注意这
6
个
jar
包都是使用
Hibernate所
必须的。另外再加上
hibernate
核心包。这里我将
slf4j-api-1.5.2.jar
换成了
1.5.0
,这是因为
slf4j
是一个通用日志
接口,不提供任何实现,我在
demo
里面使用的是
log4j
,而
hibernate
包里面没有
log4j
的
slf4j
实现。而且如果版本不一致,会有异常,因此我就采用
Spring2.5.6libslf4j
里面提供的配套版本。另外我将
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.6libcglib
里面找到。
JSTL
标签库,很经典的东东,如果需要可以将它们加入
lib
中。
大象在这里建议大家做开发的时候,不要过多的依赖
MyEclipse
提供的那些功能,多用手动的方式来做。那样方便是方便了,但不利于学习。比如加入上面这些开发所用的类库,这样可以更清楚的了解每个
jar
包的作用,增加知识的积累,方便以后调试。
Ok
,关于这部分的内容到这里就说完了,那么,我们下次继续。
本文为菠萝大象原创,如要转载请注明出处。
查看全文
相关阅读:
.net framework 3.5 dotNetFx35setup 能不需要网络支持吗?
Android API Differences Report
Android用户版本分布更新 2.1版领先
Adobe升级Flash回击批评:流畅播放手机视频
iPhone OS4.0,Android 2.1和WP7对比分析
Android 2.2数据共享功能开启与否将由运营商自主决定
谷歌 Android 3.0计划四季度推出:代号姜饼
谷歌称Android设备日激活量已达10万台
iPod Touch也将支持运行Android系统
Android2.2 SDK正式提供下载
原文地址:https://www.cnblogs.com/kevin443/p/7726972.html
最新文章
错误:用脚本window.showModalDialog打开的页面,点击button时打开新窗口
学习:SPSiteDataQuery不完全使用手册(转)
记录:查看Active Directory里的用户的属性
学习:InfoPath + Workflow + MOSS(转)
C语言中几种输出调试信息的方法
make工具 —— make命令和makefile文件
pthread_cond_timedwait方法&&Linux时间编程
C语言宏定义中的#,##,#@及\符号的作用
Linux下常用调试技巧
Linux shell程序设计知识点总结
热门文章
gcc的使用简介与命令行参数说明
两个表 触发器 冲突
《中关村风云》片尾曲 “爱只为你” 哈哈
dnn 模块 小代码集
DNN pane 窗格 面板 汉化
radcontrol radupload 上传控件的学习与使用
用户登录 错误次数 自动解锁
dnn中模块间的通讯机制
DNN 搭建网站 如果需要用端口 怎么设置
房子差点烧着,不幸中的万幸!!!
Copyright © 2011-2022 走看看