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
,关于这部分的内容到这里就说完了,那么,我们下次继续。
本文为菠萝大象原创,如要转载请注明出处。
查看全文
相关阅读:
Android如何实现超级棒的沉浸式体验
这次聊聊Promise对象
svn add文件名包含@符号的解决方案
证明3|n(n+1)(2n+1)
Xcode迁移工程常见问题
Multiple build commands for output file
python中descriptor的应用
xcode快捷键
Cycript
令assignment操作符返回一个reference to *this
原文地址:https://www.cnblogs.com/kevin443/p/7726972.html
最新文章
元编程?运行时?怎么归类
Models of Generics and Metaprogramming: Go, Rust, Swift, D and More
编程范式是一套解释系统模型
laravel 开启定时任务需要操作
Laravel-任务调度
laravel 定义翻译字符串
laravel 预加载特定的列
PHP 判断点是否在多边形内
判断一个点是否在某个区域内。百度,高德,腾讯都能用。(php版)
PHP判断点是否在多边形区域内外
热门文章
php 计算两点地理坐标的距离
mysql 索引中的USING BTREE 的意义
PHP artisan migrate 报错显示 could not find driver ,怎么办?
当我们按下电源键,Android 究竟做了些什么?
当Elasticsearch遇见Kafka
AIOps 在腾讯的探索和实践
快速探索,音视频技术不再神秘
如何利用MongoDB打造TOP榜小程序
在物联网中应用机器学习
前端调试入门
Copyright © 2011-2022 走看看