一.说明
- 从spring的特性中总结
二.优点
- 1.ioc: spring集中管理对象,降低了对象与对象之间的耦合度,方便维护对象(例如单例对象)。
- 2.aop: 在不修改代码的情况下可以对业务代码进行增强,减少重复代码,提高开发效率,维护起来方便。例如记录日志、性能监控。
- 3.事务:支持声明式事务,只需要加一个@Transactional注解,提高开发效率。
- 4.测试模块: spring集成了测试,可以用junit来测试Bean和SpringMVC接口。
- 5.集成框架: spring集成能力强,只需要简单的配置就可以集成第三方框架。
- 6.降低JavaEE的api使用难度: 封装了很多功能性的代码。(例如JDBC、JavaMail、RestTemplate远程调用)
- 7.源码: 底层实现利用了大量的反射和很多设计模式,提供了大量的扩展接口可以用来集成各种框架
三.缺点
- 1.从应用层面讲基本没有缺点,由于是简化开发,使用越简单,底层封装越复杂。
- 2.spring集成的框架很多,拓展强,长时间的代码迭代,代码量庞大,对于深入去学习源码带来一定困难