Java 开发框架之 Spring

Spring 概述

  1. Spring 的核心是控制反转( IoC )和面向切面编程( AOP )。Spring 是可以在 Java SE/EE 中使用的轻量级开源框架。
    Spring 的主要作用就是降低代码间的耦合度

IoC 控制反转

  1. 控制反转( IoC,Inversion of Control ),是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转移,从程序代码本身反转到了外部容器。通过容器实现对象的创建,属性赋值,依赖的管理。
  2. Spring 框架使用依赖注入( DI )实现 IoC。
  3. Spring 容器是一个超级大工厂,负责创建、管理所有的 Java 对象,这些 Java 对象被称为 Bean。
  4. 基于注解的 DI
    (1) @Component 该注解的 value 属性用于指定该 bean 的 id 值,不指定 value属性,bean 的 id 是类名的首字母小写
    (2) @Controller 用于对 Controller 实现类进行注解
    (3) @Service 用于对 Service 实现类进行注解
    (4) @Repository 用于对 DAO 实现类进行注解
    (5) @Value 需要在属性上使用的注解,该注解的 value 属性用于指定要注入的值
    (6) @Autowired 在引用属性上使用注解,该注解默认使用按类型自动装配 bean 的方式
    (7) @Resource 在引用属性上使用注解,该注解默认使用按名称自动装配 bean 的方式,如果按名称不能注入 bean, 则会按照类型进行 bean 的匹配注入

AOP 面向切面编程

  1. AOP( Aspect Orient Programming ),面向切面编程。面向切面编程是从动态角度考虑程序运行过程。
  2. AOP 底层,就是采用动态代理模式实现的。采用了两种代理:JDK 的动态代理与 CGLIB 的动态代理。
  3. AspectJ 对 AOP 的实现
    3.1 AspectJ 的通知类型:
    (1)前置通知
    (2)后置通知
    (3)环绕通知
    (4)异常通知
    (5)最终通知
    3.2 AspectJ 的切入点表达式举例:
    (1) execution ( [modifiers-pattern] 访问权限类型
    ret-type-pattern 返回值类型
    [declaring-type-pattern] 全限定性类名
    name-pattern(param-pattern) 方法名(参数类型和参数个数)
    [throws-pattern] 抛出异常类型)
    (2) 切入点表达式要匹配的对象就是目标的方法签名。注意,表达式中加[ ]的部分表示可省略部分,各个部分用空格分开。在其中可以使用以下符号:
    " * " : 0至多个任意字符
    " ·· " : 用在方法参数中,表示任意多个参数;用在包名后,表示当前包及其子包路径
    " + " : 用在类名后,表示当前类及其子类;用在接口后,表示当前接口及其实现类
    3.3 AspectJ 基于注解的 AOP 实现:
    (1) @Before 前置通知——方法有 JoinPoint 参数
    (2) @AfterReturning 后置通知——注解有 returning 属性
    (3) @Around 环绕通知——增强方法有 ProceedingJoinPoint 参数
    (4) @AfterThrowing 异常通知——注解中有 throwing 属性
    (5) @After 最终通知
    (6) @Pointcut 定义切入点
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值