spring框架的简化理解笔记

Spring框架

spring框架怎么定义?

它是一个轻量级的项目开源框架,是一个现成的项目架构,企业可以运用框架已有的功能进行搭建自己的项目。那么为什么要用它呢?

优点

  • ioc编程(控制反转IOC和依赖注入di)方便解耦,简化开发。怎么理解?解耦就是将项目的各个部分划分的更加的清晰,减少类与类之间的耦合度,将创建类的工作交给了spring来完成(IOC)。平时我们创建了都是通过new来进行的,在spring中不需要,如果一个类需要用到另一个类,可以通过注入的方式来进行调用。
  • aop编程(面向切面编程)。就是将同一类的事物的操作分离出来,在切面进行代理操作,减少代码的重复。比如老师要寄一封信,学生也要,那么老师类和学生类就没有必要都加一个寄信的操作,只需要告诉切面类,将寄信的操作交给切面就好了。
  • 声明式事务的支持。
  • 方便测试。

怎么去使用spring呢?

  1. 导包
  2. 创建项目需要的类
  3. 创建核心配置文件(applicationContext.xml)
  4. 在配置文件中添加bean
  5. 通过applicationContext去获取bean实例
bean的标签
  • id:bean在容器中的唯一标识
  • class:bean所表示的类,全限定名
  • property:相当于类中的属性,有name,value
通过注解开发
@component:用在类上实例化bean
@respository:用在dao层类上实例化bean
@service:用在service层实例化bean
@controller:用在web层实例化bean
@Autowire:用在字段上根据类型注入
@resource:用于字段上根据名称注入
@qualifier:和@autowire配合使用按照名称注入
@value:用于字段上,注入普通属性
@configuration:指定当前类是spring配置类
@componentscan:指定spring初始化容器的时候需要扫描的类
@Bean:使用在方法上,标注返回值存储到容器中
@propertysource:加载properties配置文件
@ import:导入其他配置类
测试Junit集成
  1. 导包
  2. 使用@Runwith替换原来运行期
  3. 使用ContextConfiguration指定配置文件
  4. 使用@Autowire注入测试类
  5. 编写测试方法
aop详解

利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
作用:在程序运行期间,不修改源码的情况下对功能进行增强。
底层原理:AOP 的底层是通过 Spring 提供的的动态代理技术实现的。在运行期间,Spring通过动态代理技术动态的生成代理对象,代理对象方法执行时进行增强功能的介入,在去调用目标对象的方法,从而完成功能的增强。

常用的动态代理技术

JDK 代理 : 基于接口的动态代理技术
cglib 代理:基于父类的动态代理技术

Spring 框架监控切入点方法的执行。一旦监控到切入点方法被运行,使用代理机制,动态创建目标对象的代理对象,根据通知类别,在代理对象的对应位置,将通知对应的功能织入,完成完整的代码逻辑运行。

步骤
①使用@Aspect标注切面类

②使用@通知注解标注通知方法

③在配置文件中配置aop自动代理aop:aspectj-autoproxy/
通知注解:
@before:增强方法在切入点之前
@afterreturning:切入点之后
@Around:前后都通知
@afterthrowing:异常之后
@after:整个过程结束之后

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值