必须的几个步奏
1 导入框架需要的jar包
2 导入框架必须的xml配置文件
3 配置框架xml文件,并且通过xml文件把各个组件进行整合
4 测试是否成功(demo)
5 性能优化(封装,代码优化)
6 开发
首先 我们先创建 java wbe project
先导入hibernate相关包
hibernate核心包数据库的支持(classes12)oracle数据库jar
(mysql-connector-java) Mysql数据库jar
导入hibernate的xml配置文件到src下面 hibernate.cfg.xml hibernate -config.properties
导入iabtis相关jar包
导入ibatis配置文件 SqlMapConfig.xml(核心配置文件) Account.xml(映射文件)
导入spring的相关jar
spring核心包
AOP的包
SpringMVC包
Spring的WEB应用支持
导入Spring相关配置文件 applicationContext.xml(核心配置文件)
application.xml(映射配置文件)
配置文件
首先配置数据库hibernate的配置
可以选择在hibernate 的xml文件中配置 也可以在spring中间配置
我在spring中配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"
default-autowire="byName"
>
<span style="white-space:pre"> </span><!-- 读取配置参数 -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<span style="white-space:pre"> </span><pre name="code" class="html" style="color: rgb(51, 51, 255);"><span style="white-space:pre"> </span><!-- <span style="font-family: Arial, Helvetica, sans-serif;">database.properties</span><span style="font-family: Arial, Helvetica, sans-serif;">存放的是 </span>
<pre name="code" class="html"><span> driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/xjgl?setUnicode=true&characterEncoding=utf8
username=root
pwd=admin</span> <span style="font-family: Arial, Helvetica, sans-serif;">--></span>
<value>classpath:database.properties</value></property></bean><!-- 配置数据源 这里用的阿里巴巴开源的数据源--><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="driverClassName"><value>${driverClassName}</value></property><property name="url"><value>${url}</value></property><property name="username"><value>${username}</value></property><property name="password"><value>${pwd}</value></property>
<property name="defaultAutoCommit">
<value>false</value>
</property>
</bean>
<!-- hibernate参数配置文件,包括缓存的信息 -->
<bean id="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location">
<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;"><! -- hibernate参数配置文件,包括缓存的信息 </span><span style="font-family: Arial, Helvetica, sans-serif;">--></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span></span><pre name="code" class="html" style="color: rgb(51, 51, 255);"><span style="white-space:pre"> </span><!-- <span style="font-family: Arial, Helvetica, sans-serif;">hibernate-config.properties配置文件信息</span>
<span style="white-space:pre"> #--hibernate sql config
hibernate.show_sql=true
hibernate.format_sql=true
#--Dialect
hibernate.dialect=org.hibernate.dialect.MySQLDialect</span>
<span style="white-space:pre"> </span>-->
<value>classpath:hibernate-config.properties</value></property></bean> <!-- 配置sessionFactory,读取实体配置信息--><bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><property name="dataSource"><ref bean="dataSource" /></property><property name="hibernateProperties" ref="hibernateProperties"></property><property name="packagesToScan"><list> <value>com.xx.xx.xx.model</value></list></property></bean><!-- 配置事务管理器 hibernate事务的支持--><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory"></property></bean><!-- 对注解事务的支持 --><tx:annotation-driven transaction-manager="transactionManager" /><!-- 注解驱动 --><context:component-scan base-package="com.xx.xx.xx" ></context:component-scan> <!-- 通用dao 这个是我自己封装的jar,源码就不展示了--><bean id="baseDao"class="com.my.ms.framework.persistence.hibernate.BaseDaoHibernateImpl"><property name="sessionFactory" ref="sessionFactory"></property></bean> </beans>
<span style="white-space:pre"> </span>现在spring已经对hibernate有了支持 我再来让spring对ibatis也能支持
<span style="white-space:pre"> </span>
<span style="white-space:pre"> <!-- ibatis通用dao,一般用于查询 -->
<span style="white-space:pre"> </span><bean id="ibatisBaseDao" class="com.my.ms.framework.persistence.ibatis.BaseDao">
<span style="white-space:pre"> </span><property name="sqlMapClient">
<span style="white-space:pre"> </span><bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<span style="white-space:pre"> </span><!-- 指定数据源 -->
<span style="white-space:pre"> </span><property name="dataSource" ref="dataSource"></property>
<span style="white-space:pre"> </span><!-- ibatis基本配置文件地址 -->
<span style="white-space:pre"> </span><property name="configLocation" value="classpath:config/ibatis/SqlMapConfig.xml"></property></span>
<!-- 注解驱动支持 实体包路径-->
<context:component-scan base-package="com.xx.xx.bean" ></context:component-scan>
<!-- 引入其它jar包中的文件,须用这种方式 -->
<!--<import resource="classpath*:config/spring/spring-core.xml"/> -->
<!--对mvc的支持 -->
<mvc:annotation-driven conversion-service="converter" />
<!-- 自己书写的全局类型转换器 -->
<bean id="converter"
class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="com.xx.xx.util.DateConverter"></bean>
<bean class="com.xx.xx.util.IntConverter"></bean>
<bean class="com.xx.xx.util.DoubleConverter"></bean>
</list>
</property>
</bean>
<!-- 是对静态资源,css,js,html,jpg,png的优化处理 restful web service 许配置这个 然后具体操作在action中体现 -->
<mvc:default-servlet-handler/>
<!-- 提供对jsp视图支持
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/" />
<property name="suffix" value=".jsp" />
</bean>-->
<!-- 文件上传处理bean -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10000000" />
</bean>
到了这里 ibatis/hibernate+spring + springMVC+restful webservice 框架已经搭建好了!下次看怎么用springMVC的Action中来体现restful的用法!