总结SSH框架整合基础与需要的jar包
最近在学习SSH框架的整合,做练习时经常因为jar包的引入不当而引起许多莫名其妙的错误,在此对SSH框架整合时的jar包引入做出简单总结。
我所使用的SSH版本分别为:
Struts-2.3.24
Hibernate-4.3.10
Spring-4.1.6
Struts2
- 使用struts2需要引入的基本的jar文件
- 与Spring进行整合时
jar包:struts2-spring-plugin-2.3.24 (注:在没进行struts2与spring整合的情况下请不要引入此包,以免引起错误。)
整合效果:可将Action也通过Spring的Ioc来创建,并且Struts2会自动根据属性get、set方法名字来实例化属性。即不需要配xml文件也不需要写注解就可实现Ioc。
整合过程:
1.引入整合用的jar包
2.在web.xml中配置好Spring listener
3.在struts.xml文件中指明objectFactory。
整合过程需要配置的代码可在官方文档中查询到,为方便了解,在这里引入如下:
web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 在这里配置你的beans的xml文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>
struts.xml:
<constant name="struts.objectFactory" value="spring" />
Hibernate
使用hibernate需要引入的基本的jar文件
与spring进行整合时
我所使用的dataSource是单纯通过jdbc的,并且使用xml文件形式进行ORM。
jar包:无需多引入jar包。
整合过程:
1.在beans.xml文件中配置dataSource与sessionFactory的bean。
2.将1中两个bean的属性配置成与自己版本对应。
3.在使用hibernate的层中(如DAO层)配置好sessionFactory的get与set方法。
配置代码(可在spring的文档中查询再根据需求修改,以下是我的配置):
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/bbs" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
<!--这里请注意是否与你的hibernate的版本相匹配-->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>com/zdz/restructurebbs/model/article.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
</value>
</property>
</bean>
Spring
- 使用spring需要引入的基本的jar文件
SSH整合所用到的jar文件的总和为:44个(包含一个mySql的驱动jar)