spring学习2

AOP——面向切面

在这里插入图片描述

术语

在这里插入图片描述

AOP框架——AspectJ

基于注解

要在 Spring 中声明 AspectJ 切面, 只需要在 IOC 容器中将切面声明为 Bean 实例. 当在 Spring IOC 容器中初始化 AspectJ 切面之后, Spring IOC 容器就会为那些与 AspectJ 切面相匹配的 Bean 创建代理。
在切面类中需要定义切面方法用于响应的目标方法,切面方法即为通知方法,通知方法需要用注解标识,AspectJ 支持 5 种类型的通知注解:

@Aspect:作用是把当前类标识为一个切面供容器读取
@Pointcut:Pointcut是植入Advice的触发条件。每个Pointcut的定义包括2部分,一是表达式,二是方法签名。
方法签名必须是 public及void型。可以将Pointcut中的方法看作是一个被Advice引用的助记符,因为表达式不直观,因此我们可以通过方法签名的方式为 此表达式命名。因此Pointcut中的方法只需要方法签名,而不需要在方法体内编写实际代码。
@Order:定义Spring IOC容器中Bean的执行顺序的优先级。数字越小,优先级越高。
@Before: 前置通知, 在方法执行之前执行
@After: 后置通知, 在方法执行之后执行 。
@AfterRunning: 返回通知, 在方法返回结果之后执行
@AfterThrowing: 异常通知, 在方法抛出异常之后
@Around: 环绕通知, 围绕着方法执行

基于XML

参考

JDBC

jdbcTemplate

  • update:单条语句更新数据库
  • batchUpdate:批量更新数据库
  • queryForObject:查询单行
  • query:查询多行。
    (sql, params, mapper) 当查询数据库返回的是多列数据,且需要将多列数据映射到某个实体类上,那么就该使用这个RowMapper
  • queryForObject:单值查询或统计查询
  • BeanPropertyRowMapper
  • 不支持级联属性
  • 线程安全

具名参数

在这里插入图片描述
在这里插入图片描述

jdbcDaoSupport

JdbcDaoSupport是Spring内置的一个Dao层的基类,来自spring-jdbc-4.2.4.RELEASE.jar这个包,其内部定义了JdbcTemplate的set方法,这样我们自己的dao类只需要继承JdbcDaoSupport类,就可以省略JdbcTemplate的set方法书写了,通过查看源码你会发现,该方法是final修饰的也就是说,子类是无法覆盖的。

另外,它还提供了注入数据库连接池的set方法。从该方法可以发现,如果我们在Spring配置文件中没有注入jdbcTemplate ,那么可以通过注入DataSource 的时候自动创建jdbcTemplate,这样一来又可以省略JdbcTemplate类的注册工作了。

说白了,JdbcDaoSupport就是为了简化我们dao类有关JdbcTemplate的注入的相关工作量。

如果需要用到JdbcTemplate,只需要调用JdbcDaoSupport的getJdbcTemplate方法即可获取。

参考
用法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值