注:本系列文章部分内容来自王健老师编写ssh整合开发教程

使用Spring的AOP进行项目的事务管理,已经成为非常多企业的首先,Spring做为优秀的开源项目,其在数据库连接、事务管理方面的优势已经显现,当然后期我们还会使用Hibernate进行数据操作。但仍不能丢弃Spring作为中间层的重要意义。



第一步:书写DDL(数据定义语言)语句,创建mysql数据库和表格,例如以下图-1所看到的:

提示:在ssh项目下,新建一个ssh.sql文件。当中存放全部的建库、建表语句。



图-1

第二步:创建一个资源文件,位于WEB-INF/conf文件夹下,输入数据库的url等信息例如以下图-2所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHV6aGVuZ19qYXZh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">、

图-2

第三步:将连接mysql的jar文件复制到WEB-INF/lib文件夹下,因为连接数据路。以后使用AOP进行事务方面的控制。所以须要将下面几个包复制到WEB-INF/lib文件夹下。



图-3

第四步:在applicationContext.xml中配置数据库的连接例如以下图-4所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHV6aGVuZ19qYXZh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

图-4

第五步:公布项目,并启动程序,假设能正常启动,说明数据库连接成功,调试程序,直到正常启动。

第六步:改动OneDaoImpl.java类,运行数据查询。改动后的代码例如以下:



图-5

第七步:在applicationContext.xml中,给OneDaoImple注入DataSource属性例如以下图-6所看到的:



图-6

第八步:公布程序。并測试登录,输入例如以下:



图-7

第九步:配置数据库事务,配置的高级部分。假设可以掌握可成为领域的行家:

提示:在上面的配置过程其中,尽管已经能够正常操作数据库进行增删改查操作。可是当用户发生异常时,不能使用户的操作回滚到原始状态,即没有事务,所以为了保证用户操作的原子性,应该给我们的数据加入事务。

9.1、添加applicationContext.xml的文档类型头定义,以支持aop的配置例如以下图-8所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHV6aGVuZ19qYXZh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

图-8

提示:为了防止出错,能够使用下面文档类型头直接覆盖applicationContext.xml的文档类型头:(建议直接拷贝)

<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:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">



9.2、配置事务控制。在applicationContext.xml中添加下面配置:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHV6aGVuZ19qYXZh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

图-9

提示:1、依照1~3的顺序书写。

 2、绿色双向箭头为引用关系

 3、椭圆的圈中,execution(* com..*Service.*(..))是指对com包中的。全部的以Service结尾的接口其中的全部方法。不管接受什么样的參数,返回什么样的数据类型,都进行事务控制。



第十步:公布项目,并启动,假设启动不成功应该检查配置文件是否正确,直到能正常启动为止。



总结:到眼下为止,Spring已经整合完成,下一步的工作例如以下:

1、添加一个功能,查询显示全部用户。

2、整合Hibernate,并相同完毕查询显示全部用户的功能。

3、添加删除、添加、改动用户的功能(使用Hibernate)。



源码下载地址:

http://download.csdn.net/detail/u014548782/7216361



Struts2+Spring+Hibernate step by step 04 整合Spring之二,从数据库验证username和password的更多相关文章

  1. spring+hibernate+jpa+Druid的配置文件,spring整合Druid

    spring+hibernate+jpa+Druid的配置文件 spring+hibernate+jpa+Druid的完整配置 spring+hibernate+jpa+Druid的数据源配置 spr ...

  2. Struts2,Spring, Hibernate三大框架SSH的整合步骤

    整合步骤 创建web工程 引入相应的jar包 整合spring和hibernate框架 编写实体类pojo和hbm.xml文件 编写bean-base.xml文件 <!-- 1) 连接池实例 - ...

  3. 搭建Spring + SpringMVC + Mybatis框架之三(整合Spring、Mybatis和Spring MVC)

    整合Spring和SpringMVC 之前已经整合了spring和mybatis,现在在此基础上整合SSM. 项目目录: 思路:SpringMVC的配置文件独立,然后在web.xml中配置整合. (1 ...

  4. Struts2+Spring+Hibernate step by step 03 整合Spring之中的一个(在DAO层验证username和password)

    注:该系列文章部分内容来自王健老师编写SSH整合开发教程 目的:通过Spring创建数据库的连接,并通过Spring进行事务管理. 第一步:将Spring的包拷贝至当前项目的lib文件夹下,例如以下图 ...

  5. 【Java EE 学习 53】【Spring学习第五天】【Spring整合Hibernate】【Spring整合Hibernate、Struts2】【问题:整合hibernate之后事务不能回滚】

    一.Spring整合Hibernate 1.如果一个DAO 类继承了HibernateDaoSupport,只需要在spring配置文件中注入SessionFactory就可以了:如果一个DAO类没有 ...

  6. SSH三大框架的搭建整合(struts2+spring+hibernate)(转)

    原文地址:http://blog.csdn.net/kyle0349/article/details/51751913  尊重原创,请访问原文地址 SSH说的上是javaweb经典框架,不能说100% ...

  7. Struts+Spring+Hibernate项目的启动线程

    在Java Web项目中,经常要在项目开始运行时启动一个线程,每隔一定的时间就运行一定的代码,比如扫描数据库的变化等等.要实现这个功能,可以现在web.xml文件中定义一个Listener,然后在这个 ...

  8. 《SSM框架搭建》三.整合spring web

    感谢学习http://blog.csdn.net/zhshulin/article/details/37956105#,还是修改了spring到最新的版本和接口开发示例 根据前一篇日志,已经有了myb ...

  9. Struts+Spring+Hibernate处理Lob(Blob,Clob)

    在使用struts+spring+hibernate的开发中,有些时候用户会有数据库存储文件的需求,在数据库中一般会采用Blob字段或Clob字段来存储二进制图片.流媒体或文件.现就将在实际开发中遇到 ...

随机推荐

  1. 用btrace定位问题

    btrace 截取方法出入参 用btrace的手法,网上有很多.简单记录下我自己的使用经历. btrace脚本: import static com.sun.btrace.BTraceUtils.ex ...

  2. 新技术---- MongoDB

    MongoDB 在 CentOS7 上安装 MongoDB-------https://www.linuxidc.com/Linux/2016-06/132675.htm Centos7 安装mong ...

  3. ZingChart 图表插件

    ZingChart提供了一个丰富的API,用于通过重新绘制绘图(重新加载) ,加载新数据(setseriesdata),修改现有图表(modifyplot), 放大数据范围(zoomto),切换各种交 ...

  4. 基于深度学习的目标检测技术演进:R-CNN、Fast R-CNN,Faster R-CNN

    基于深度学习的目标检测技术演进:R-CNN.Fast R-CNN,Faster R-CNN object detection我的理解,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别.obj ...

  5. [automator学习篇]android 接口-- bluetooth

    http://www.android-doc.com/guide/topics/connectivity/bluetooth.html 本地下载的sdk 目录:     D:\AndroidSdk\s ...

  6. Relay Race (DP)

    Furik and Rubik take part in a relay race. The race will be set up on a large square with the side o ...

  7. 【Luogu】P1854花店橱窗布置(DP)

    照例良心题目链接 此题使用f[i][j]表示前i束花放进前j个花瓶的时候的最大值.转移方程如下 f[i][j]=max(f[i][j-1],f[i-1][j-1]+que[i][j]) 其中que[i ...

  8. 【Luogu】P1144最短路计数(BFS)

    题目链接 此题使用BFS记录最短路的条数.思路如下:因为是无权无向图,所以只要被BFS到就是最短路径.因此可以记录该点的最短路和最短路的条数:如果点y还没被访问过,则记录dis[y],同时令ans[y ...

  9. HDU 3001 Travelling ——状压DP

    [题目分析] 赤裸裸的状压DP. 每个点可以经过两次,问经过所有点的最短路径. 然后写了一发四进制(真是好写) 然后就MLE了. 懒得写hash了. 改成三进制,顺利A掉,时间垫底. [代码] #in ...

  10. 【DFS序+线段树区间更新区间求最值】HDU 5692 Snacks

    http://acm.hdu.edu.cn/showproblem.php?pid=5692 [思路] 每更新一个点,子树的所有结点都要更新,所以是区间更新 每查询一个点,子树的所有结点都要查询,所以 ...