美文网首页SpringCloudJavaSpring-Boot
面试必问:谈你对spring 的了解和spring 中DI、AO

面试必问:谈你对spring 的了解和spring 中DI、AO

作者: 程序员夏天 | 来源:发表于2019-08-23 19:42 被阅读2次

    spring 是一站式开发的轻量级开源框架,通过配置文件中的<bean>元素配置用于创建实例对象的类名和实例对象的属性

    spring 提供IOC 和AOP 技术,我们可以将对象之间的依赖关系交给spring 来进行管理,避免了强耦合;AOP 可以帮我们进行切面式编程,例如事务的管理或登陆权限管理;
    spring 对junit4 进行了支持,方便了程序的测试

    声明了事务的支持,减少代码量提高了开发效率

    spring 封装了一些技术,例如:jdbc、远程调用等,降低了开发难度

    spring 整合了世面上很多优秀的框架,方便集成;例如(hibernate、struts2)

    IOC:控制反转,举例说实例一个对象原本由我们new 来进行实例化,现在交由spring 来进行构建放置到IOC 容器中,我们只需要调用即可;

    DI:注入机制,在xml 配置文件中对配置的对象进行 属性/对象 注入

    <!-- 属性注入 -->
    <bean id="user" class="com.domain.User">
     <property name="username" value="zhangsan" />
     <property name="password" value="12345" />
    </bean>
     
    <!-- 对象注入 -->
    <bean id="users" class="com.domain.Users">
     <property name="user" ref="user" />
    </bean>
    

    AOP:面向切面编程

    不修改源码就进行方法的扩展
    AOP 的本质横向代码抽取机制
    如果是结构使用JDK 的动态代理,如果是类使用 CGLIB 方式实现动态代理(继承)
    连接点:目标类中可以被增强的方法

    切点:目标类中被增强了的方法

    通知/增强:增强逻辑类中,具体的增强的方法(增强的逻辑)

    切面:是指将增强逻辑和切点连接起来的统称的概念(切点和通知组合)

    引介:在目标类中添加一个属性或方法

    织入:将增强逻辑用到切点的过程

    image.png

    相关文章

      网友评论

        本文标题:面试必问:谈你对spring 的了解和spring 中DI、AO

        本文链接:https://www.haomeiwen.com/subject/bxqxectx.html