Spring4的开发(第三天)

本文详细介绍Spring框架中的关键组件,包括AspectJ注解AOP操作、jdbcTemplate的CRUD操作及连接池配置、Spring事务管理等内容。文章通过实例展示了如何在实际项目中应用这些技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 基于aspectj的注解aop操作(会用)

 

2 springjdbcTemplate操作

1)实现crud操作

- 增加、修改、删除,调用模板update方法

- 查询某个值时候,调用queryForObject方法

--- 自己写实现类封装数据

- 查询对象,调用queryForObject方法

- 查询list集合,调用query方法

 

3 spring配置连接池

1)配置c3p0连接池

2dao注入jdbcTemplate操作

 

4 spring事务管理

1)事务概念

2spring进行事务管理api

- spring针对不同的dao层框架提供不同的实现类

3spring进行事务配置(声明式)

- 基于xml配置文件

- 基于注解方式

基于aspectj的注解aop

1 使用注解方式实现aop操作

第一步 创建对象

<bean id="book" class="cn.itcast.aop.Book"></bean>

<bean id="myBook" class="cn.itcast.aop.MyBook"></bean>

 

第二步 spring核心配置文件中,开启aop操作

<aop:aspectj-autoproxy><aop:aspectj-autoproxy>

第三步 在增强类上面使用注解完成aop操作


SpringjdbcTemplate操作

1 spring框架一站式框架

1)针对javaee三层,每一层都有解决技术

2)在dao层,使用 jdbcTemplate

 

2 spring对不同的持久化层技术都进行封装

1jdbcTemplatejdbc进行封装

 

3 jdbcTemplate使用和dbutils使用很相似,都数据库进行crud操作


增加

1 导入jdbcTemplate使用的jar包(****数据库的驱动*******)

2 创建对象,设置数据库信息

3 创建jdbcTemplate对象,设置数据源

4 调用jdbcTemplate对象里面的方法实现操作


**************其中修改和删除操作都是和添加一样使用update***********
查询操作:
1.返回简单类型的查询:


2.返回对象类型的pojo查询:


Spring配置连接池和dao使用jdbcTemplate

1 spring配置c3p0连接池

第一步 导入jar

第二步 创建spring配置文件,配置连接池

<!-- 配置c3p0的连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql:///spring_day03"></property>
<property name="user" value="root"></property>
<property name="password" value=""></property>

</bean>
<bean id="userDao" class="cn.itcast.c3p0.UserDao">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<bean id="userService" class="cn.itcast.c3p0.UserService">
<property name="userDao" ref="userDao"></property>
</bean>

<!-- 创建jdbcTemplate对象 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>

Spring的事务管理

事务概念

1 什么事务

 

2 事务特性

 

3 不考虑隔离性产生读问题

 

4 解决读问题

1)设置隔离级别

Spring事务管理api

1 spring事务管理两种方式

第一种 编程式事务管理(不用)

第二种 声明式事务管理

(1) 基于xml配置文件实现

(2) 基于注解实现

2 spring事务管理的api介绍

PlatformTransactionManager  事务管理器

1spring针对不同的dao层框架,提供接口不同的实现类

1 创建数据库表,添加数据

2 创建servicedao类,完成注入关系



1service层又叫业务逻辑层

2dao层,单纯对数据库操作层,在dao层不添加业务

3)需求:小王 转账 1000 给 小马

- 小王少1000

- 小马多1000




3 产生问题:

1)如果小王少了1000之后,出现异常,小马不会多1000,钱丢失了

 

4 解决:

1)添加事务解决,出现异常进行回滚操作


1 配置文件方式使用aop思想配置

 

第一步 配置事务管理器

 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"

  <property name="dataSource" ref="dataSource"></property>

</bean>

第二步 配置事务增强

<tx:advice id="txadvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="account*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>

第三步 配置切面

<aop:config>
<aop:pointcut expression="execution(* cn.itcast.service.OrdersService.*(..))" id="pointcut1">
<aop:advisor advice-ref="txadvice" pointcut-ref="pointcut1">
</aop:config>

声明式事务管理(注解)










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值