1、为什么要学?
- 从使用和占有率看
- Spring在市场的占有率与使用率高
- Spring在企业的技术选型命中率高
- 所以说,Spring技术是JavaEE开发必备技能,企业开发技术选型命中率>90%
- 从专业角度看
- 随着时代发展,软件规模与功能都呈几何式增长,开发难度也在不断递增,该如何解决?
- Spring可以简化开发,降低企业级开发的复杂性,使开发变得更简单快捷
- 随着项目规模与功能的增长,遇到的问题就会增多,为了解决问题会引入更多的框架,这些框架如何协调工作?
- Spring可以框架整合,高效整合其他技术,提高企业级应用开发与运行效率
- 综上所述,Spring是一款非常优秀而且功能强大的框架。
2、学什么?
从上面的介绍中,我们可以看到Spring框架主要的优势是在简化开发和框架整合上,至于如何实现就是咱们要学习Spring框架的主要内容:
- 简化开发: Spring框架中提供了两个大的核心技术,分别是:
- IOC
- AOP
- Spring的简化操作都是基于这两块内容,所以这也是Spring学习中最为重要的两个知识点,事务处理属于Spring中AOP的具体应用,可以简化项目中的事务管理,也是Spring技术中的一大亮点。
- 框架整合: Spring在框架整合这块已经做到了极致,它可以整合市面上几乎所有主流框架,比如:
- MyBatis
- MyBatis-plus
- Struts
- Struts2
- Hibernate
- Shiro...
综上所述,对于Spring的学习,主要学习四块内容:
(1)IOC
(2)整合Mybatis(IOC的具体应用)
(3)AOP
(4)声明式事务(AOP的具体应用)
3、怎么学?
- 学习Spring框架设计思想
- 对于Spring来说,它能迅速占领全球市场,不只是说它的某个功能比较强大,更重要是在它的
思想上。
- 学习基础操作,思考操作与思想间的联系
- 掌握了Spring的设计思想,然后就需要通过一些基础操作来思考操作与思想之间的关联关系
- 学习案例,熟练应用操作的同时,体会思想
- 会了基础操作后,就需要通过大量案例来熟练掌握框架的具体应用,加深对设计思想的理解。
4、就Spring本身而言?
spring是一个开源的轻量级 JavaBean 容器框架。使用 JavaBean 代替 EJB ,并提供了丰富的企业应用功能,能降低应用开发的复杂性。
轻量:非入侵性的、所依赖的东西少、资源占用少、部署简单,不同功能选择不同的jar组合
容器:工厂模式实现对 JavaBean 进行管理,通过控制反转(IOC)将应用程序的配置和依赖性与应用代码分开
低耦合:通过xml配置或注解即可完成 bean 的依赖注入
AOP:通过xml配置 或注解即可加入面向切面编程的能力,完成切面功能,如:日志,事务的统一处理
方便集成:通过配置和简单的对象注入即可集成其他框架,如 Mybatis、Hibernate、Shiro等
丰富的功能:JDBC 层抽象、事务管理、MVC、Java Mail、任务调度、JMX、JMS、JNDI、EJB、动态语言、远程访问、Web Service...