Spring中IOC,AOP概念

Spring

spring是一个轻量级的管理框架,主要用于管理各个组件之间的关系。核心功能有ioc和aop

spring创建对象有三种方式:

1、在xml文件中使用bean标签创建对象

2、在xml文件中开启扫描注解,在类的上面添加对应的注释创建对象,常用的注解有:@component、@controller、@service、@mapper

3、通过配置类的方式创建对象。在类上面加@configuration注解,在需要创建的对象上面加@Bean注解

前两种创建对象的方式是通过反射来创建的,配置类创建对象是程序员自己new出来的

spring使用的设计模式有工厂模式,代理模式,单例模式,模板方法,观察者模式

IOC

ioc是控制反转,即把用户管理对象的权力交给spring容器,spring容器可以创建和管理对象,spring容器默认是单例的,在spring容器启动时自动根据bean标签通过反射创建对象,所以在多个类中可以复用一个对象,这样就可以节省系统的资源。如果我们想要改变对象的生命周期,可以修改bean标签的scope属性为prototype,这样对象的创建就是多例的,只有在调用getBean的时候才会创建一个对象。

ioc中的重点是di,即依赖注入,可以通过依赖注入的方式管理组件之间的依赖关系,从而达到解耦合的目的,取代我们之前的在一个类中创建另一个类的对象的方式。

依赖注入有三种方式:

1、构造器注入:利用对象的全参构造器给对象的属性赋值

2、set注入:先调用对象的无参构造器,再通过调用set方法的方式去给对象的属性赋值

3、自动注入:自动注入分为两种,分别是byName和byType,即通过spring工厂中的其他bean标签的id值注入以及根据bean标签的类型自动注入

AOP

aop是面向切面编程,即我们可以把代码中重复冗余的部分单独拿出来写在一个通知类中,我们把实现核心功能的方法叫做切点,这个方法所在的类称作目标类,即被代理的类。在xml配置文件中织入切点和通知类组成切面。

也可以直接在通知类上加上@aspect注解,这个类可以成为切面,在我们实现通知的方法上面加上@before/@after/@around注解配置切点

通知有五种类型,分别为前置通知,后置通知,返回通知,异常通知,环绕通知

aop底层是使用动态代理实现的,默认使用的是jdk动态代理,当目标类没有实现接口时,则默认使用cglib动态代理。

aop的好处是开发人员可以专注于实现程序的核心代码,而那些重复的固定的代码可以拿出来集中处理,例如事务的控制,日志的打印,权限认证等等

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值