Spring深入学习

前言:前面我们了解了Spring的IoC和Aop,本节我们就一起来深入学习一下Spring中的Ioc和Aop的实现方式吧。

1、使用注解依赖注入

2、注入不同数据类型

3、Aop增强类型及特点

4、使用注解实现增强


一、使用注解依赖注入

1、在介绍注解依赖注入前,我们可以了解另一种注入方法——p命名空间注入

使用属性而不是子元素的形式配置Bean的属性

 配置文件中使用p命名空间时,需要先添加p命名空间的声明:      

xmlns:p="http://www.springframework.org/schema/p"

但是在实际开发中,使用注解更能提高代码的可读性,下面是IoC常用注解

@Component:实现Bean组件的定义

@Repository:用于标注DAO类

@Service:用于标注业务类

@Controller:用于标注控制器类

@Autowired:自动专配

@Resource:自动装配

对比:@Autowired是Spring提供的注解

           @Resource是Java提供的 在不指定任何参数且不配合其他注解时

           @Autowired注解会优先按Bean的类型进行装配

           @Resource注解则是优先按Bean的名称进行装配

说到@Autowired 就不得不提@Qualifier,因为@Autowired 是按照类型进行装配的,所以出现下面错误时会抛出BeanCreationException异常。

①可能存在多个UserDao实例

②可能不存在UserDao实例

第一种情况时使用@Qualifier注入名称为Dao或Mapper的bean

第二种情况时使用@Autowired(required = false)

2、注入不同数据类型

二、  Aop增强类型及特点      

在Spring框架中,有以下几种增强类型:

  1. 前置增强(Before Advice):在目标方法执行之前执行的增强操作。可以在目标方法执行前进行一些预处理或校验操作,例如日志记录、权限验证等。

  2. 后置增强(After Advice):在目标方法执行之后执行的增强操作。可以在目标方法执行后进行一些清理或收尾操作,例如释放资源、记录返回结果等。

  3. 环绕增强(Around Advice):在目标方法执行前后都执行的增强操作。可以完全控制目标方法的执行过程,可以在目标方法执行前后进行任意的操作,并决定是否继续执行目标方法。

  4. 异常增强(After Throwing Advice):在目标方法抛出异常时执行的增强操作。可以捕获目标方法抛出的异常,并进行相应的处理,例如记录异常信息、执行回滚操作等。

  5. 返回值增强(After Returning Advice):在目标方法成功返回结果后执行的增强操作。可以获取目标方法的返回结果,并进行一些后续的处理,例如日志记录、数据处理等。

2、使用注解实现增强

  • @AfterThrowing异常通知注解,用于定义在目标方法抛出异常时执行的增强操作。
  • @Before前置通知注解,用于定义在目标方法执行之前执行的增强操作。

  • @AfterReturning返回通知注解,用于定义在目标方法成功返回结果后执行的增强操作。

  • @Around环绕通知注解,用于定义在目标方法执行前后都执行的增强操作。可以完全控制目标方法的执行过程。

  • @After后置通知注解,用于定义在目标方法执行之后执行的增强操作。

  • @Aspect切面注解,用于标识一个类为切面类。切面类中定义了切点和通知等。

  • @Pointcut切点注解,用于定义一个切点表达式,指定需要被增强的连接点(方法)。切点表达式可以使用AspectJ的语法来指定具体的匹配规则。

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值