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吗,这都是什么时候的事了。)

原文地址:https://www.cnblogs.com/Ge-Zsj/p/12609635.html

时间: 2024-10-10 06:17:16

spring的优点与缺点的相关文章

SSH的项目中,使用getHibernateTemplate 与 getSession有什么的区别?优点与缺点是什么

SSH的项目中,使用getHibernateTemplate 与 getSession有什么的区别?优点与缺点是什么,谢谢回答! 悬赏分:0 - 解决时间:2008-10-7 09:42 SSH的项目中,使用getHibernateTemplate 与 getSession有什么的区别?优点与缺点是什么,谢谢回答! 问题补充:谢谢 451182 主要是想了解一下这两个关于事物这一块有什么不同?谢谢! 提问者: zhongbin007 - 试用期 一级 最佳答案 getHibernateTempl

流行的9个Java框架介绍: 优点、缺点等等

流行的9个Java框架介绍: 优点.缺点等等 在 2018年,Java仍然是世界上最流行的编程语言.它拥有一个巨大的生态系统,在全世界有超过900万Java开发人员.虽然Java不是最直接的语言,但是您不需要从头编写Java程序.有许多优秀的Java框架可以编写在Java虚拟机上运行的web和移动应用程序.微服务和REST api. Java框架允许您关注应用程序的业务逻辑,而不是编写数据库连接或处理异常等基本功能.此外,如果您有Java方面的经验,您可以快速入门.这些框架都使用相同的语法,使用

spring的优点 ioc aop

spring 的优点? 1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等 7.spring属于低侵入式设计,代码的污染极低 8.独立于各种应用服务器 9.spring的DI机制降低了业务对象替换的复

”舍得“大法:把自己的优点当缺点倒出去

和几个创业者在网上或线下聊天,聊着聊着几个人就开始激动或吐槽了,无外乎几个原因:1)创业成效还不见 2)亏损现象不能扭转 3)产品打不出去 ,打了广告很多钱都无法把产品推出去 我暂时不去主观和客观的评价这些现象,因为我自己也具备以上三点"死穴",尤其第三点.不过幸好的是,我心态略比他们好一些,如果不猛灌我几杯"猫尿",我是基本不会吐槽的. 玩笑过后,我想起一本描写胡雪岩怎么创业的书,里面有个案例顿时在我大脑中进行了模糊匹配. 据说胡雪岩创业初期混的也很惨. 大家知道

Gevent: 优点,缺点,以及不优美的地方

原始出处:                    In the Milky way 我不想用很多时间去描述Gevent是什么,我想它官网上的一句总结足矣: "Gevent是一种基于协程的Python网络库,它用到Greenlet提供的,封装了libevent事件循环的高层同步API." 接下来我将阐述在Mixpanel中一个内部项目使用Gevent的经验. 为了这篇文章我还动手写了几个性能小测试.(Whipped up这里的意思让我迷惑哎- -) 优点 首先Gevent最明显的特征就是

SSM框架:1.1、2(什么是Spring)、(Spring的优点)、(Spring的体系结构)

1:什么是spring 2:Spring的优点 3:Spring的体系结构 原文地址:https://www.cnblogs.com/jiafeng1996/p/12344923.html

C# - 继承的优点与缺点

优点 减少代码冗余 提供代码重用 减少代码量以及提高代码可读性 代码易于管理以及可划分父类和子类 通过子类重写父类的功能可支持代码扩展 缺点 子类继承父类使两个类紧密耦合,如果修改父类代码,将影响所有继承其的子类 在继承结构中,很多数据成员仍然没有被使用,分配给他们的内存没有被利用:因此,如果你没有正确地使用继承,将影响你的程序性能

C语言有什么优点什么缺点?有什么特别之处?

优点 1. 简洁紧凑.灵活方便 C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示.它把高级语言的基本结构和语句与低级语言的实用性结合起来. C 语言可以像汇编语言一样对位.字节和地址进行操作,而这三者是计算机最基本的工作单元. 2. 运算符丰富 C语言的运算符包含的范围很广泛,共有34种运算符.C语言把括号.赋值.强制类型转换等都作为运算符处理.从而使C语言的运算类型极其丰富,表达式类型多样化.灵活使用各种运算符可以实现在其它高级语言中难以实现的运算. 3. 数据结

select模型的原理、优点、缺点

关于I/O多路复用: I/O多路复用(又被称为“事件驱动”),首先要理解的是,操作系统为你提供了一个功能,当你的某个socket可读或者可写的时候,它可以给你一 个通知.这样当配合非阻塞的socket使用时,只有当系统通知我哪个描述符可读了,我才去执行read操作,可以保证每次read都能读到有效数据而不 做纯返回-1和EAGAIN的无用功.写操作类似.操作系统的这个功能通过select/poll/epoll之类的系统调用来实现,这些函数都可以同时 监视多个描述符的读写就绪状况,这样,**多个描