其他分享
首页 > 其他分享> > sping随笔

sping随笔

作者:互联网

Spring

IoC概念
Spring Core 是框架的最基础部分,提供了IoC特性
Spring AOP是基于Spring Core的符合规范的面向切面编程的实现。
控制反转IoC

Bean的实例

ApplicationContext:是一个接口,负责读取Spring配置文件,管理对象的加载/生成/维护Bean对象之间的依赖关系,负责Bean的生命周期等。
ClassPathXmlApplicationContext:是ApplicationContext接口的实现类,用于从classpath路径中读取Spring配置文件。
Ioc控制反转:实现原理:Spring会自动接管配置文件中Bean的创建和为属性赋值的工作。Spring在创建Bean的实例后,会调用相应的setter方法为实例设置属性值。实例的属性值不再由程序中的代码来主动创建和管理,改为被动接受Spring的注入,使得组件之间以配置文件而不是硬编码的方式组织在一起。
依赖注入:实现原理:由容器负责把组件所依赖的具体对象注入给组件,从而避免组件之间以硬编码的方式耦合在一起。
AOP概念
AOP定义:在不改变原有程序的基础上为代码增加新的功能,对其进行增强处理,设计思想来源于代理设计模式。
AOP的目的:从系统中分离出切面,将其独立于业务逻辑实现,并在程序执行时织入程序中运行
适用场景:一般适用于具有横切逻辑的场合,如访问控制/事务管理/性能监测等。
关心的两个问题:在什么位置,执行什么功能
基本概念

一个模块化的横切逻辑(或称横切关注点),可能会横切多个对象。

程序执行中的某个具体的执行点

切面在某个特定连接点上执行的代码逻辑

对连接点的特征进行描述,可以使用正则表达式。增强处理和一个切入点表达式相关联,并在与这个切入点匹配的某个连接点上运行。

被一个或多个切面增强的对象

由AOP框架所创建的对象,实现执行增强处理方法等功能。

将增强处理连接到应用程序中的类型或对象上的过程。

前置增强/后置增强/环绕增强/异常抛出增强/最终增强等类型
前置/后置增强方法
通过实例的getTarget()方法得到被代理的目标对象
通过getSignature()方法返回被代理的目标方法
getArgs()返回传递给目标方法的参数数组
afterReturning()方法还可以定义一个参数用于接收目标方法的返回值
aop命名空间
在<bean>元素中需要添加aop的名称空间,以导入与AOP相关的标签
与AOP相关的配置都放在<aop:config>标签中,如配置切入点的标签<aop:pointcut>的expression属性可以配置切入点表达式

  1. execution是切入点指示符,括号中是切入点表达式,用于配置需要切入增强处理的方法的特征
  2. 第一个*表示匹配所有类型的返回值
  3. 第二个*表示匹配所有类
  4. 第三个*表示匹配所有方法名

在切入点处插入增强处理,这个过程叫织入
依赖注入扩展
使用<constructor-arg>元素配置构造注入

使用p命名空间进行直接量和引入Bean的注入
使用注解实现IoC
4类注解

  1. @Repository用于标注DAO类
  2. @Service用于标注业务类
  3. @Controller:用于标注控制器
  4. @Component:其他注解

加载注解定义的bean组件
在Spring配置文件中添加对context命名空间的声明,然后使用context命名空间下的component-scan标签扫描注解标注的类。base-package属性指定了需要扫描的基准包

采用按类型匹配的方式为属性自动装配合适的依赖对象
可以使用@Qualifier指定所需的Bean的名称

使用注解实现AOP

切入点表达式使用@Pointcut注解表示,而切入点签名则需要通过一个普通的方法定义来提供
spring与mybatis整合
mybatis配置步骤

  1. 添加jar包
  2. 建立开发目录结构,创建实体类
  3. 创建数据访问接口
  4. 配置SQL映射文件
  5. 配置MyBatis配置文件

实现Spring对MyBatis的整合

  1. 配置DataSource数据源
  2. 配置SqlSessionFactoryBean
  3. 使用SqlSessionTemplate进行持久化操作
  4. 编写测试类测试运行结果

标签:增强,Spring,sping,Bean,AOP,注解,随笔,切入点
来源: https://www.cnblogs.com/zhou201/p/14380609.html