- 浏览: 174880 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
yinvent:
谢谢,终于找到一个可以用的例子!
struts2学习之一简单范例 -
锅巴49:
学习了,不错.
使用 Spring 2.5 注释驱动的 IoC 功能 -
fooky:
你好,今天在配置spring secutiry3,想让系统先从 ...
spring security 配置文件小结(逐步深化到url级别) -
lj508:
你好啊 请教你个问题
我用那个纯jsp上传时
怎么运行时根本没 ...
Sturt2学习之十二---文件上传 -
641216927:
我还是一个struts2新手。
有个问题请教一下:
同时在t ...
struts2学习之一简单范例
使用Spring+JDBC集成步骤如下
l
1、配置简单数据源
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="org.gjt.mm.mysql.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/itcast?useUnicode=true&characterEncoding=UTF-8"/> <property name="username" value="root"/> <property name="password" value="123456"/> .....略 </bean>
l
2配置事务。配置事务时,需要在xml配置文件中引入用于声明事务的tx命名空间(见下页),事务的配置方式有两种:注解方式和基于XML配置方式。
在spring配置文件中引入用于声明事务的tx命名空间(红色部分)
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-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
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
</beans>
3配置数据源
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="org.gjt.mm.mysql.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/itcast?useUnicode=true&characterEncoding=UTF-8"/> <property name="username" value="root"/> <property name="password" value="123456"/> <!-- 连接池启动时的初始值 --> <property name="initialSize" value="1"/> <!-- 连接池的最大值 --> <property name="maxActive" value="500"/> <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 --> <property name="maxIdle" value="2"/> <!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 --> <property name="minIdle" value="1"/> </bean> 使用<context:property-placeholder location=“jdbc.properties”/>属性占位符
4、若使用占位符配置数据源,对3作如下修改
<context:property-placeholder location=“jdbc.properties”/> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${driverClassName}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> <!-- 连接池启动时的初始值 --> <property name="initialSize" value="${initialSize}"/> <!-- 连接池的最大值 --> <property name="maxActive" value="${maxActive}"/> <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 --> <property name="maxIdle" value="${maxIdle}"/> <!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 --> <property name="minIdle" value="${minIdle}"/> </bean>5、若采用注解方式配置事务如下:
采用注解方式 <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!– 采用@Transactional注解方式使用事务 --> <tx:annotation-driven transaction-manager="txManager"/>
@Service @Transactional//事务主要针对方法,若能方法中含多个sql语句,会要没一次性执行完,要么都回滚。不会执行方法上面部分sql,仅回滚下面部分 public class PersonServiceBean implements PersonService { }
6、若采用xml方式配置事务如下:
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <aop:config> <aop:pointcut id="transactionPointcut" expression="execution(* cn.itcast.service..*.*(..))"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="transactionPointcut"/> </aop:config> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="get*" read-only="true" propagation="NOT_SUPPORTED"/> <tx:method name=“*”/>//默认是开启事务的如:propagation="SUPPORTED” </tx:attributes> </tx:advice>
7、使用JdbcTemplate进行insert/update/delete操作
@Service @Transactional public class PersonServiceBean implements PersonService { private JdbcTemplate jdbcTemplate; @Resource public void setDataSource(DataSource dataSource) { this.jdbcTemplate = new JdbcTemplate(dataSource); } //添加 public void save(Person person) throws Exception{ jdbcTemplate.update("insert into person (name) values(?)", new Object[]{person.getName()}, new int[]{java.sql.Types.VARCHAR});//三个参数的含义:1、sql语句2?代表的参数值3参数类型(指sql中的类型,一般每个类型代表一个常量,所以会是一个整型数组) } }
8、使用JdbcTemplate获取一条记录
@Service @Transactional public class PersonServiceBean implements PersonService { private JdbcTemplate jdbcTemplate; @Resource public void setDataSource(DataSource dataSource) { this.jdbcTemplate = new JdbcTemplate(dataSource); } public Person getPerson(Integer id){ RowMapper rowMapper = new RowMapper(){ public Object mapRow(ResultSet rs, int rowNum) throws SQLException { Person person = new Person(); person.setId(rs.getInt("id")); person.setName(rs.getString("name")); return person; } }; return (Person)jdbcTemplate.queryForObject("select * from person where id=?", new Object[]{id}, new int[]{java.sql.Types.INTEGER}, rowMapper); }}
9、使用JdbcTemplate获取多条记录
@Service @Transactional public class PersonServiceBean implements PersonService { private JdbcTemplate jdbcTemplate; @Resource public void setDataSource(DataSource dataSource) { this.jdbcTemplate = new JdbcTemplate(dataSource); } public List<Person> getPersons(){ RowMapper rowMapper = new RowMapper(){ public Object mapRow(ResultSet rs, int rowNum) throws SQLException { Person person = new Person(); person.setId(rs.getInt("id")); person.setName(rs.getString("name")); return person; } }; return jdbcTemplate.query("select * from person", rowMapper); } }
- ppt以及原代码参考.rar (129.8 KB)
- 下载次数: 108
发表评论
-
使用 Spring 2.5 注释驱动的 IoC 功能
2010-08-04 11:04 1239级别: 初级 转自http://www.ibm.com/dev ... -
使用 Spring 2.5 基于注解驱动的 Spring MVC
2010-08-04 11:00 1126转自http://www.ibm.com/developerw ... -
spring security 学习 续一
2009-08-21 15:08 5098六、为了使用MD5对密码加密,我们需要修改一下配置文件。 ... -
spring security 配置文件小结(逐步深化到url级别)
2009-08-20 17:39 9177一 、方式一:用户名密码都在配置文件中。 <?x ... -
spring2.5+strut2.0+hibernate3.3集成
2009-08-15 16:15 1261一、准备jar包,见附件。 二、分布集成 1、先集成spr ... -
ssh或S2sh中因延迟加载出现问题解决方案
2009-08-15 15:29 1057解决方案:在web.xml中加入以下代码 使用spr ... -
S2SH或ssh中乱码问题解决方法一
2009-08-15 15:23 1111在web.xml中添加以下配置 <filter> ... -
spring小结之配置二级缓存!
2009-08-15 13:36 1834一、spring二级缓存主要分为三步,可以参考附件程序理解: ... -
Spring和Struts和Hibernate集成
2009-03-31 11:53 7911、见附件 由于附件最大不超过10M 所以部分lib单独打包了 ... -
spring与struts集成方案二
2009-03-31 11:31 1084spring+struts的集成(第二种集成方案)一、原理 将 ... -
Spring与Struts集成_第一种方案摘录
2009-03-30 13:38 1048一、原理: 在Action中取得BeanFactory对象,然 ... -
Spring学习笔记之九--声明式事务
2009-03-30 10:02 1018一、事务的传播特性: 前六个是标准的,在.net中也有,后面 ... -
spring学习之八--Hibernate编程式事务
2009-03-30 00:06 1583采用编程式事务 程序示例: 1、以前单个事物的控制 1)Hib ... -
spring学习之七“AOP使用spring静态配置文件(CGLIB)”
2009-03-29 16:21 2880一、spring对AOP的支持(在JDK动态代理和CGLIB之 ... -
spring学习之六“AOP使用spring静态配置文件的实现”
2009-03-29 15:58 1138一、spring(采用配置文件的方式)对AOP实现 1、sp ... -
spring学习之五“AOP概念及使用Annotation的实现”
2009-03-27 15:14 1049一、静态代理 参见代码 二、动态代理 参 ... -
spring学习之四“自动装配”
2009-03-27 14:46 909一。根据名字自动装配: 前提一、设置default-auto ... -
Spring学习笔记之三“scope” --bean范围
2009-03-27 14:37 1524三、spring Bean的作用域: scope可以取值: ... -
Spring学习笔记之二“属性注入”
2009-03-27 14:15 975参见附件代码理解下文(附件中有更加详细的注解)一、普通的属性注 ... -
Spring学习笔记之一“why spring”
2009-03-27 09:54 911一、spring概述 2、在使用spring前 ...
相关推荐
《韩顺平Spring笔记及PPT资料》是一份详尽且深入的学习资源,由知名IT教育专家韩顺平老师精心编制。这份资料旨在帮助学习者掌握Spring框架的核心概念和技术,以便在实际开发中灵活运用。Spring是Java企业级应用开发...
学习Struts2,你需要理解Action、Result、Interceptor等核心组件,以及Struts2与Spring的集成。通过实际操作,你可以学会如何创建动态网页,处理用户请求,并实现业务逻辑与视图的解耦。 三、Spring框架 Spring是...
本资源包包含了用于自学这些技术的笔记和PPT,对于初学者和进阶者都是宝贵的参考资料。 1. **Java**: Java是一种面向对象的编程语言,以其“一次编写,到处运行”的特性闻名。它具有丰富的类库,适用于各种应用领域...
达内教育(Tarena)作为知名的IT培训机构,提供了这套Spring的学习资料,包括笔记和PPT课件,旨在帮助学员全面掌握Spring的核心概念和技术。 Spring笔记可能涵盖了以下内容: 1. **IoC(Inversion of Control)容器...
6. **Spring的数据访问**:可能涵盖了JDBC模板、Hibernate或MyBatis集成,以及事务管理策略。 7. **Spring的单元测试**:讲解如何利用Spring Test框架进行单元测试,提高代码质量。 8. **Spring Boot**:如果是较...
Java JDK 6学习笔记是Java初学者入门的重要参考资料,它以PPT的形式提供了一种直观易懂的学习途径。这份笔记涵盖了Java编程语言的基础知识,帮助读者掌握Java的核心概念和技术。 首先,Java JDK(Java Development ...
此文档的整理版,结合了PPT内容和笔记,为学习者提供了一个全面的知识体系。通过系统地学习这些知识点,学习者能够建立起扎实的Java Web开发基础,为后续的深入学习和项目开发打下坚实的基础。在学习过程中,理解每...
Java Web ppt 开发和J2SE学习笔记涵盖了Java编程的基础以及如何将其应用于Web应用程序的开发。J2SE,即Java 2 Platform, Standard Edition,是Java平台的核心部分,提供了用于开发和运行桌面应用、服务器端应用和...
Spring框架是Java开发中广泛应用的一个开源框架,以其强大的依赖注入(Dependency Injection,简称DI)和面向切面编程...在实际学习过程中,应结合PPT和笔记,逐步掌握每个知识点,并通过实际项目练习巩固技能。
通过阅读《spring2.5+学习笔记.doc》和《黎活明__spring教程.ppt》以及《黎活明_struts2教程.ppt》,你可以更深入地了解Spring 2.5与Struts2的整合,以及在实际项目中如何有效地利用这些知识。尽管Spring框架已经...
传智播客JDBC_所有源码与ppt Java培训教程教学课件 传智播客SCM手把手开发文档 传智播客内部数据库教学资料及上课笔记 张孝祥javaweb高级PPT 张孝祥JavaWEB课堂PPT AJAX技术入门.ppt itcast_hibernate.ppt itcast_...
4. **Struts2.0+Spring+Ibatis讲义-20110304.ppt**:可能是一个教学或研讨会的幻灯片,提供了直观的视觉辅助,帮助理解三者整合的架构和设计模式。 5. **struts2+spring2+ibatis2整合.txt**:可能是整合过程中的...
压缩包子文件的文件名称列表中提到了“spring学习资料(11张)”,这可能意味着包含了11个与Spring相关的学习材料,可能是PDF文档、PPT演示、图片教程或者是代码示例等。这样的资源通常会涵盖Spring的基本概念、核心...
这个压缩包可能包含了一系列关于Spring基础的教程资料,如PPT、笔记、代码示例等,这些资料将逐步引导学员了解Spring的以下几个关键部分: 1. **Spring核心**:包括Bean的生命周期管理、配置文件解析、注解驱动的...
- `springMVC-note-任亮.doc`可能是一个关于SpringMVC的文档,包含了详细的学习笔记或教程。 - `jquery-1.6.2.js`是jQuery库的一个旧版本,常用于处理DOM操作和AJAX请求,与SpringMVC配合可以增强用户体验。 - `...
传智播客JDBC_所有源码与ppt Java培训教程教学课件 传智播客SCM手把手开发文档 传智播客内部数据库教学资料及上课笔记 张孝祥javaweb高级PPT 张孝祥JavaWEB课堂PPT AJAX技术入门.ppt itcast_hibernate.ppt itcast_...
3. **PPT或笔记**:可能包含讲义、幻灯片,用于解释概念和技术。 4. **配置文件**:如`application.properties`或`application.yml`,展示Spring的配置方式。 5. **测试文件**:如JUnit测试,演示如何进行单元测试和...
【标题】"j2EE资料"所涵盖的知识点主要集中在Java企业...通过学习这些文档,开发者可以全面了解j2EE体系,包括基础的Java编程、Web框架的使用、数据库操作以及前端技术,从而具备开发高效、可维护的企业级应用的能力。