意思是跳到
sprangfrom是什么意思如何系统的学习Spring?正确的阅读源码姿势?如何系统的学习Spring,以我15年J2EE教学和开发经验来说,首先要清楚Spring的概念和特性,以及在JavaEE框架中起到的作用。
在此基础上再开展学习。
(欢迎转发)(1) Spring概念Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 目的:解决企业应用开发的复杂性功能:使用基本的JavaBean代替EJB,确保开发的简单性、可测试性和松耦合性;同时提供更多的企业应用功能范围: Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益(2)Spring特性Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
不管是SSH,还是SSM,都是由Spring通过IOC和AOP来对对象和对象组装关系进行统一管理。
所以学好Spring,就是要学好IOC和AOP。
看代码,看Spring源码,都是以这两者为核心。
轻量——从大小与开销两方面而言Spring都是轻量的。
完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。
并且Spring所需的处理开销也是微不足道的。
此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类和接口。
控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。
当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
面向切面——Spring提供了面向切面编程(AOP)的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如权限、日志和事务管理等)进行内聚性的开发。
应用对象只实现它们应该完成的业务功能,不考虑其它的系统级关注点,例如日志或事务支持。
容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,可以配置每个bean如何被创建(bean可以创建一个单独的实例或者每次需要时都生成一个新的实例),以及它们是如何相互关联的。
框架——Spring可以将简单的组件配置、组合成为复杂的应用。
在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。
Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
(3)Spring带来了复杂的J2EE框架开发的春天。
Spring具有如下优点:低侵入式设计,代码的污染度低;独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere;Spring的IoC容器降低了业务对象的耦合性;Spring的AOP支持允许将一些通用的功能(权限、事务、日志等)等集中处理,提升了复用性,同时让开发者集中精力于业务功能的处理实现;Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问;Spring是高度开放的,开发者可以自由选择Spring框架的部分或全部。
(4)目前最流行的Java EE开发框架是SSM,这时就需要以Spring为核心配置与管理工具,掌握spring和spring-mvc进行整合,Spring和mybatis进行整合与配置的方法。
才能从容进行基于SSM的Java EE项目的开发。
(5)SpringBoot目前很火的SpringBoot也是以Spring为基础,它是主要面向web服务,也就是微服务开发的。
这个又是另外一个话题了。
先学好Spring没错的。
刘嵩2020.5.19
spring简介:是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。
框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 j2ee 应用程序开发提供集成的框架。
spring学习方法:一、首先java的基础、面向对象的基础和设计模式的基础知识是必不可少的。
关于设计模式我觉得不用学太多,但以下三个模式是学习spring必不可少的:factory模式(包括简单工厂和抽象工厂), 策略模式,模板方法模式。
如果不掌握这些你就根本没法领悟spring的精髓,只能依样画葫芦地照搬,这是很可怕的事。
我这里强烈建议的书可能让人有点意外,那就是expert one on one j2ee design and development的第四章,这一章不仅仅是spring初学者,而是任何搞java开发的人必读的一章。
经典!二、接下可以看一些spring的入门书籍 其实我自己没怎么看过这方面的书,我当时只看过spring的reference,不过现在这方面的书好象多的是,而spring reference看起来还是有些吃力的。
入门书应该是spring live或spring in action。
三、研究几个用spring做的开源项目 理论还是要与实际结合,所以看完书后是要看实际的项目的。
很多人喜欢appfuse,我觉得appfuse花的东西太多,真正实质性的内容又太少。
我更喜欢spring自带的jpetstore,这是一个非常完整的例子,看完后spring的基本用法应该都能掌握。
四、开始做实际的项目 在上述这些都完备以后,我觉得应该要去实际项目中锻炼了。
当然并不是每人都有这样的机会的,这时只能自己做个玩具项目啦。
项目的锻炼是非常关键的,其实每个人都清楚,我就不重复了。
五、继续深入学习 经过项目的锤炼,对spring的用法和原理有了一定的了解的时候,才有可能真正掌握spring的精髓。
这时要读的书才是rod johnson的三本经典名著,分别是: expert one on one j2ee design and development expert one on one j2ee without ejb professional java development with springframework 前两本书的经典程度我就不说了,只有读了它们,才能真正了解spring的设计意图,掌握spring的精髓。
第三本书是我强烈不建议初学者读的书。
里面的东西深入而全,但是原理讲解得又不够深,很容易让初学者犯迷糊。
但是却是spring的高级用户必读的一本书。
六、分析源代码,扩展spring 有人认为没有必要分析spring的源代码,因为这是很累人又不计好的事。
但是要想成为spring的高级用户,这是必经的阶段。
在学习的过程中,我们学到的不仅是spring,更重要的是他的设计思想。
不管怎样,看牛人的源代码是绝对有好处的。
不过这是一个很累人的过程,要有思考准备。



