Spring框架-01

1:谈谈你对spring框架的认知

    spring框架是我们在mvc开发中业务逻辑service层中经常使用到的一款优秀的框架,
这也是spring框架的核心1:IOC就是我们常说的控制反转 2:面向切面编程

2:那什么是IOC呢
IOC是控制反转的意思有时候也被叫做依赖注入,是一种降低对象之间耦合度的存在,在开发的时候一般来说,就是上层调下层,web层调用service层,service层在去调用dao层,上层调用下层的接口,上层依赖于下层的执行.
通过IOC可以让上层不在依赖于下层接口,就是让调用者来选择一个被调用者,然后IOC来实例化一个代理对象来完成解耦的目的.

3:IOC的底层是什么

    -|XML文件
    -|dom4j
    -|工厂模式
    -|反射
    xml文件是好多编程语言支持的,这个就是程序运行的时候从外部获取,这样增大了维护性.
    dom4j就是解析xml
    工厂模式:批量生产类的对象
    反射:最重要的一点就是运行时候可以动态的去创建类的对象

4:反射如何获取类呢?Java中创建对象的方式有几种

    a):反射有三种方式获取类
        -|class.forName("类的路径");
        -|类名.class;
        -|实例.getClass();

   b):java创建对象的方式有四种
       -|通过new的语句实例化一个对象
       -|通过反射的机制来创建对象
       -|通过clone()方法来
       -|通过反序列化的方式来

5:IOC(控制反转)和DI(依赖注入)
a):创建对象的时候其实是通过ioc控制反转来实现的
b):依赖注入主要是想属性设置属性值
关系:DI不能独立存在,要在IOC的基础上完成.很简单的思维,你连对象都没有你怎么去给对象属性去赋值

6:你能说说AOP面向切面编程吗

    a):我们来举个例子说明,我们在开发中需要做一套用户管理系统,这时候我们需要做增删改查来,做完以后,我们现在需要在增删改查每个方法里面添加一个日志功能,如果常规的来,我们就需要改动源代码,或者写个类来继承,纵向的来实现,但是如果父类改变,子类都会改变,程序之间耦合性很差,这时候就用到了面向切面编程.
    一句话说明就是,在不改变原来代码的基础上来动态的增加功能
    b):底层原理
    AOP的底层原理是使用了动态代理的方式来实现
    -|有接口的时候使用jdk动态代理
    -|无接口的时候使用cglib
    子类写方法的时候都是实现了接口里面的方法我们,使用动态代理就可以创建一个和子类平级的类这样我们去拓展这个类就可以
    还是那句话,不改变远吗,增强功能

7:能说说AOP你常用的术语

-|连接点:这个就是类里面的那些方法可以被增强,那些方法就是连接点
-|切入点:加入有四个方法,你要增强其中的AB方法,这两个AB方法就是切入点
-|增强:实现的逻辑
    -|前置:就是在原来的方法之前执行
    -|后置:在方法的后面执行
    -|环绕:就是前面后面都执行
    -|最终:就是在后置之后在执行一次
    -|异常:发生异常的时候执行
-|切面:增强应用到方法上的这个过程就叫做切面
-|织入
-|代理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值