因为自己学习的时候,资料过旧,困难重重。所以再足以单独开发后,写出来让后来人学习能够轻松点。
S2SH(Struts2+Spring+Hibernate)框架是当今最流行的Java企业级开发框架搭配方案之一。S2SH是SSH的升级版本,2代指的是Struts2,而SSH中用的是Struts1。众所周知,Struts1已经在逐渐退出舞台。而Struts2也就是Webwork的衍化版本,正在如火如荼的盛行着。
其实网上这方面资料也不算少,但是都知道现在技术发展的太快,旧的资料已经很难解决我们的当前问题,要问我写的这些有多新?我学习S2SH框架是在2011年8月分暑假期间,这篇文章写于2011年8月15日星期一。
我所采用的是当前位置,各大官网发布的最新框架。Struts2.2.3,Spring2.5.6和Hibernate3.6.6Final。
首先我们需要准备什么?
MyEclipse for Spring 8.6或者更新
Struts2.2.3包或者更新
Spring2.5.6包或者更新
Hibernate3.6.6包或者更新
其中框架整合用到的jar文件,无论在这三个压缩包或者Google获得的jar文件列表,如图1。
点击在新窗口中浏览此图片
图1: S2SH框架整合所需要的jar包
前段时间的教程中提到了需要用到这两个包:hibernate-annotations.jar和hibernate-commons-annotations.jar经过我查看测试,我发现在最新的hibernate3.6.6里面已经包含了这两个包的内容,所以不要再添加这两个包了,如果包添加过多,里面有重复的类文件,在开发的过程中会报错或者出现各种诡异的错误,所以对于jar包的整合,宁少勿多!
下面我们开始一个新项目的整合开发,打开MyEclipse,我当前刚升级到MyEclipse for Spring 9.1。
1.建立Web项目,复制jar包
新建一个Web Project,这个我就不截图了。然后将我们整合好的jar文件们复制到WebRoot下面的WEB-INF下面的lib文件夹内,如图2。
图2 存放jar包
2.创建代码包
创建代码包,便于在开发过程中对每一个java文件的管理和分类。其实分类方式根据自己的需要自己定制,但是行业中也有些约定俗成的规矩。例如:
存放与Struts的action文件的包,命名com.chzker.action,当然com.chzker是我个人域名倒叙的写法,也是一种规矩,每个人或者企业都不相同的,自己随意就可以。哪怕你写成org.xxx.action,com.xxx.action,com.action或者直接写action,包名并不受限制。
存放与hibernate相关的DAO文件的包名,命名com.chzker.dao。
存放与hibernate数据库实体类的包名,命名 com.chzker.model。
存放与业务逻辑层的Java文件包名,命名com.chzker.service。
如图3,4所示。
图3 新建包
图4 建成的源码包
3.先嵌入Spring
右键选择MyEclipseàAdd Spring Capabilities,如图5
点击在新窗口中浏览此图片
图5 选择加入Spring
因为我们已经在第一步加入了所有的jar包,当然已经包含了Spring,所以在这一步我们什么库都不用选,只需要选择Spring2.5然后下一步。如图6
点击在新窗口中浏览此图片
图6 不需要选择库
这一步默认,启用AOP并选择New选项即可,点击完成(Finish)。如图7
点击在新窗口中浏览此图片
图7 完成Spring导入
然后再web.xml中注册Spring,要不然的话,前面做的都是白费,因为程序是先读取web.xml去看看有什么组件去调用,如果没有将Spring信息写入到web.xml,那服务器是不会识别Spring的。注册如下:
<?xml version=”1.0″ encoding=”UTF-8″?>
<web-app version=”3.0″
xmlns=”http://java.sun.com/xml/ns/javaee”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee
<a href=”http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd” target=”_blank”>http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd</a>”>
<display-name></display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
以上是注册Spring完成后的的整个web.xml内容。
4.再嵌入Hibernate
首先,创建DB连接。(待续····)
是这样的,因为博客上传图片太不方便,所以不再继续写剩下的部分作为单独的文章,而是把整体开发文档作为附件下载:
开发说明文档下载: S2SH_Annotation
开发实例项目下载:http://code.google.com/p/infoview/