频道栏目
首页 > 资讯 > 其他 > 正文

aop事务配置+Spring整合jdbc操作

18-01-25        来源:[db:作者]  
收藏   我要投稿

aop事务配置+Spring整合jdbc操作

1. 复习 aspect:方面

1)注解代替xml配置

导包4+2+aop包

导入context约束,在xml开启扫描包中类的注解。

注解:

@component(“”)

@scope(“”)

@value(“”)

@AutoWired自动属性注入,根据类型注入

@Qulifiler指定注入的对象的名称

@Resource指定对象的名称注入

@postConstract初始化方法

@preDestroy销毁方法

2)Springaop开发

封装了动态代理技术,来体现aop

Cglib对目标对象继承代理。

3)Springaop名词

Joinpoint:连接点,所有可以织入通知的方法。

Pointcut:切入点,需要|已经织入通知的方法

Advice:需要增强的代码

Weaving:将通知应用的切点的过程

Target:目标对象、

Proxy:代理对象

aspect:切面,切入点+通知、

4)aop步骤

导包:4+2+aop+aspect

准备目标对象+通知类

前置通知

后置通知

环绕通知

异常拦截通知

后置通知无论如何都执行

5.配置文件中配置,导入aop约束。

1)目标对象

2)通知对象

3)

 

 

6.使用注解完成aop

1)导包4+2aop+aspectaop联盟+weaving

2)准备目标对象

3)准备通知类

4)配置文件中配置,导入aop约束

1目标对象

2通知对象

3开启注解aop

5)@aspect指定当前为通知类

@before前置通知

@after-returnning后置通知

@around环绕通知

@after-throwing异常拦截通知方法

@after后置通知方法

6)@pointCut抽取切点表达式

2.使用注解代替配置aop略

3.Spring整合jdbc

Spring中提供了一个可以操作数据库的对象,对象封装了jdbc技术。

1)jdbcTemplateJDBC模板对象(高度相似于DButils的QueryRunner)

2)准备:导包4+2,spring-test+spring-aop(junit测试),c3p0连接池+jdbc驱动,spring-jdbc(模板包)+spring-tx(事务包)包。

测试:

CombopooledDataSourcecpds=NewComboPooledDataSource();

cpds.setDriverClass(“com.mysql.jdbc.Driver”);

cpds.setjdbcURL(“jdbc:mysql:///wly”);

cpds.setUser(“root”);

cpds.setPassword(“root”);

JdbcTemplatejt=newJdbcTemplate();

jt.setDataSource(cpds);

Jt.execute(sql);

4.SpringjdbcTemplate的用法

1)当查询返回为值类型,如数量可使用:

Stringsql=”selectcount(*)fromuser”;

Integercount=jt.queryForObject(sql,Integer.class);

2)当查询单个对象时:

Stringsql=”select”;

3)当查询很多个对象时:

Stringsql=”select*fromuser”;

Listlist=jt.query(sql,newRowMapper(){

@overried

PublicUsermapRow(ResultSetrs,intarg1){

USeru=newUser();

u.setId(rs.getInt(“id”));

u.setName(rs.getString(“name”));

returnu;

}

});

4)向数据库插入数据、删除数据、更改数据:

Jt.update(sql,uuser.getName());

均是update方法。

5. 整合连接池&JDBC模板&Dao配置到spring容器

1)将连接池放入Spring容器

2)将jdbcTemplate放入jdbc容器

3)将USerDao放入jdbc容器

UserDao是那个需要Template进行数据库操作的类。

6. 对于5的扩展

操作类中jdbcTemplate可以不new可以此操作类继承jdbcDaoSupport。

此类方法中用到的jc均被super.getJdbcTempLate()得到、。

配置文件更改:

不需要将jdbcTemplate注入到容器了,直接UserDao类属性关联数据源dataSource即可。

7. 读取properties内配置的连接池

有时候需要将配置文件中配置的连接池配置到单独的properties中。

在properties中写键值对有一个经验问题:

有可能键名和关键词重复导致读不出来:所以加前缀。。。

8. String中的aop事务

1)Spring封装了管理事务的代码:打开事务,提交事务,回滚事务

事务操作对象:因为在不同平台,操作事务的代码不同,Spring提供了一个接口:PlatformTransactionManager:平台事务管理器。

在不同的平台使用不同的实现类:

JDBCTransactionManager

HibernateTransactionManager

注意:在spring中玩事务管理,最为核心的对象是TransactionManager对象。

2)Spring管理事务的属性的介绍:

事务传播行为:比如a()方法调用b()方法。

事务传播行为决定业务方法之间调用,事务应该如何处理。使用默认

Propagation_required支持当前事务,如果不存在,就创建一个(默认)。其它都扯淡

3)是否只读!

9. 演示Springaop的事务操作

1)银行转账演示

2)spring配置事务抽取

编码式略

Xml配置事务aop(aop):

Spring为我们提供了事务通知。我们只需要配置即可。

1)导包:aop+aspect+aop联盟+weaving织入包。

2)导入约束(命名空间)tx约束之前导过beans,context,aop这事第四个。其实一共需要导入四个约束:

Beans是最基本的(那个bean元素)

context:注解+读取properties配置文件

aop:配置aop用的,织入目标对象。

tx:配置事务通知的

3)开始配置:前提:有目标对象

 

相关TAG标签
上一篇:网曝特斯拉电动卡车Semi原型车现美国街头
下一篇:ubuntu 分辨率调节方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站