zoukankan      html  css  js  c++  java
  • spring的优点与缺点

    最近面试遇到面试主考官,有两次都问到了两次关于spring的优点与缺点,所以觉得这个问题·值得好好思考总结一下。

    spring这个有两大概念:IOC和AOP
    IOC反转控制(也可以叫DI依赖注入,其实都是一个意思,角度不同而已),
    就是之前对象依赖关系不用你来维护,由IOC容器来维护(对象间依赖关系不用解释了吧,就是类与类之间的依赖关系,使用与被使用。举个例子电器工作需要电,电器类与电类之间是依赖关系,之前这些要你自己去完成它们的依赖关系,有了IOC容器这工作就就交给IOC容器来完成。)
    在白话一点解释,两个实例依赖关系,像两个人,一个人要另一个人帮助,没有spring的时候A要自己去联系B“来帮帮忙”,有了spring后,实例就不需要自己去创建依赖的实例,被调用依赖的实例自己就过来帮忙了。

    AOP也很好理解,面向切面编程,就是把一些公共的功能提取出来,到你用的时候你从容器中拿出对象直接用就可以了。像什么日志,解析XML文件什么的,用的时候调出来就可以,不是那种做到哪一步该要做什么就要自己去写怎么实现。

    优点:
    有了IOC容器,对象间依赖关系交给spring,更专注业务逻辑代码。
    有了AOP对应OOP,很多功能更方便简单使用
    像一个胶水一样,把一些好的框架粘合在一起方便实用(数据方面使用MyBatis,controller选择struts2,直接用spring粘在一起使用。)

    缺点:
    对比新出的springboot,肯定没人家好用(这是知乎的一个解释,觉得有道理)
    spring像一个胶水,将框架黏在一起,后面拆分的话就不容易拆分了(这是面试官的一个回答解释,表示是一个思路。)
    springJSP代码过多,过于灵活缺乏一个公用的控制器,不适合分布式(这个是CSDN上几个博客说的,不知道谁抄谁的,前半部分不说,后面的分布式你知道spring boot ,spring cloud吗,这都是什么时候的事了。)

  • 相关阅读:
    python 多进程操作
    python 什么是全局解释器锁GIL
    cloudstack api调用python
    cloudstack模板
    微型计算器
    a++与=++a的区别
    js自调用函数的实现方式
    .net利用NPOI导入导出Excel
    linux系统下c程序分多文件实现
    线程的优先级
  • 原文地址:https://www.cnblogs.com/Ge-Zsj/p/12609635.html
Copyright © 2011-2022 走看看