一、Spring能干啥
1.进行对象的管理,对象的创建和销毁,不用使用new来进行对象创建了
准备写第二条的,发现spring核心内容就是对象管理,那为什么必须是spring呢?
2.如果仅仅是对象管理,那其实很容易实现,关键是其还有丰富的生态圈,基于spring会有很多的组件,这些组件可以在spring这个容器里面进行很好的管理。另外,spring在进行对象创建的时候,提供了很好的扩展,它可以设置对象创建前做什么,对象创建后可以做什么
3.基于spring,有spring-aop,可以进行aop编程,spring-jdbc可以进行数据库的操作,spring-mvc可以开发网络接口。spring-mvc还提供了跨域相关的处理,请求参数的处理。在这些组件之上,又提供了基于不同功能的模块,比如网关、注册中心、负载均衡、请求调用、链路追踪,可以说spring在其基础上,构建了一个生态,叫做springcloud,几乎能够帮助企业解决百分之八九十的问题。剩下的问题就是业务相关的建模了,还有基于特定业务的定制,定制复合企业需求的组件,比如在接口开发中,定义统一的请求参数转换机制、统一的异常收集机制等等。
二、Spring不能干啥及其缺点
1.spring不能帮你完成业务功能,因为人家是通用的功能,只能满足大部分人的需求,并不能满足所有人的需求
2.spring框架因为要考虑很多人的需求,考虑各种请求,因此其依赖的包很大,往往一个项目打包下来有几十M
3.spring考虑了很多异常场景,代码在实现上高度抽象,虽然重用性提高了,但是对于一般的人,看到一层层的调用关系容易晕