Struts2+Spring+Hibernate step by step 04 整合Spring之二,从数据库验证username和password
注:本系列文章部分内容来自王健老师编写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的更多相关文章
- spring+hibernate+jpa+Druid的配置文件,spring整合Druid
spring+hibernate+jpa+Druid的配置文件 spring+hibernate+jpa+Druid的完整配置 spring+hibernate+jpa+Druid的数据源配置 spr ...
- Struts2,Spring, Hibernate三大框架SSH的整合步骤
整合步骤 创建web工程 引入相应的jar包 整合spring和hibernate框架 编写实体类pojo和hbm.xml文件 编写bean-base.xml文件 <!-- 1) 连接池实例 - ...
- 搭建Spring + SpringMVC + Mybatis框架之三(整合Spring、Mybatis和Spring MVC)
整合Spring和SpringMVC 之前已经整合了spring和mybatis,现在在此基础上整合SSM. 项目目录: 思路:SpringMVC的配置文件独立,然后在web.xml中配置整合. (1 ...
- Struts2+Spring+Hibernate step by step 03 整合Spring之中的一个(在DAO层验证username和password)
注:该系列文章部分内容来自王健老师编写SSH整合开发教程 目的:通过Spring创建数据库的连接,并通过Spring进行事务管理. 第一步:将Spring的包拷贝至当前项目的lib文件夹下,例如以下图 ...
- 【Java EE 学习 53】【Spring学习第五天】【Spring整合Hibernate】【Spring整合Hibernate、Struts2】【问题:整合hibernate之后事务不能回滚】
一.Spring整合Hibernate 1.如果一个DAO 类继承了HibernateDaoSupport,只需要在spring配置文件中注入SessionFactory就可以了:如果一个DAO类没有 ...
- SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
原文地址:http://blog.csdn.net/kyle0349/article/details/51751913 尊重原创,请访问原文地址 SSH说的上是javaweb经典框架,不能说100% ...
- Struts+Spring+Hibernate项目的启动线程
在Java Web项目中,经常要在项目开始运行时启动一个线程,每隔一定的时间就运行一定的代码,比如扫描数据库的变化等等.要实现这个功能,可以现在web.xml文件中定义一个Listener,然后在这个 ...
- 《SSM框架搭建》三.整合spring web
感谢学习http://blog.csdn.net/zhshulin/article/details/37956105#,还是修改了spring到最新的版本和接口开发示例 根据前一篇日志,已经有了myb ...
- Struts+Spring+Hibernate处理Lob(Blob,Clob)
在使用struts+spring+hibernate的开发中,有些时候用户会有数据库存储文件的需求,在数据库中一般会采用Blob字段或Clob字段来存储二进制图片.流媒体或文件.现就将在实际开发中遇到 ...
随机推荐
- Html + Css 小知识点
选择器 根据选择器来对html内的内容做css修饰 样式: 找到一个元素{ 样式:值: } 找到一个元素:选择器 css都在style标签内部写 1.标签选择器: 根据标签名查找. 小丽: 2.id选 ...
- [转]python开发_shelve_完整版
''' python中的shelve模块,可以提供一些简单的数据操作 他和python中的dbm很相似. 区别如下: 都是以键值对的形式保存数据,不过在shelve模块中, key必须为字符串,而值可 ...
- i++和++i的区别,及其线程安全问题
i++和++i都是i=i+1的意思,但是过程有些许区别: i++:先赋值再自加.(例如:i=1:a=1+i++:结果为a=1+1=2,语句执行完后i再进行自加为2) ++i:先自加再赋值.(例如:i= ...
- [android 开发篇] 易白教程网址
http://www.yiibai.com/android/android_bluetooth.html
- 九度oj 题目1137:浮点数加法
题目描述: 求2个浮点数相加的和 题目中输入输出中出现浮点数都有如下的形式:P1P2...Pi.Q1Q2...Qj对于整数部分,P1P2...Pi是一个非负整数 对于小数部分,Qj不等于0 输入: 对 ...
- 开源中国+soucetree
参考链接:http://www.cocoachina.com/programmer/20151012/13682.html 1.创建一个工程
- iOS学习笔记13-网络(二)NSURLSession
在2013年WWDC上苹果揭开了NSURLSession的面纱,将它作为NSURLConnection的继任者.现在使用最广泛的第三方网络框架:AFNetworking.SDWebImage等等都使用 ...
- 算法复习——虚树(消耗战bzoj2286)
题目: Description 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达.现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战 ...
- Spoj-BLMIRINA Archery Training
Mirana is an archer with superpower. Every arrow she shoots will get stronger the further it travels ...
- ndarray:一种多维数组对象
ndarray是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的.每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数组数据类型的对象). In ...