Spring知识整理(零) —— 开篇

Spring是什么?
    Spring有春天、弹簧、跳跃和泉眼的意思…好吧,Spring是一个业界流行的开源的轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。好多修饰,看起来是不是很牛掰,实际上Spring确实很牛掰,关于Spring的详细内容请参考维基百科、百度百科等。

为什么要用Spring?
    1.Spring很牛掰,作为SSH框架中功能最强大的一个我们没有理由不学。
    2.学会了显得你很牛掰,Spring作为当下最流行的框架之一,学习之后,可以明显的增加你在人前高谈阔论的资本,也可以让你在晋升、跳槽或者创业中有一项不可替代的优势。
    3.Spring可以让你学习其他Java技术更快。这一点虽然没有临床试验证明过,但Spring所提供的思想和多种多样的模块,可以让你对大部分J2EE技术有一定的认识。
    4.关于学精一门还是泛泛的学习多门技术一直是IT届热议的一个话题,Spring在某种层面上很好的解决了这个问题,因为Spring确实是一个框架,但它又不仅仅是一个框架,它涵盖了各种J2EE的技术,又对当下流行的框架以及J2EE服务进行了很好的集成。可以说你不仅学精了一门,你还精通了多门。
    5.自己联想吧。有木有觉得世界很美好,那就赶紧学Spring吧。

怎样快速学习Spring?
    买本书,敲代码,经常百度谷歌。IT真的没有捷径,看书、敲代码和谷歌是必须的,特别是Spring所涵盖的技术广而杂,买一本好书常备手头可以减少你走很多弯路。这里推荐本书《Spring揭秘》,讲的很细,而且很细,而且还不便宜,新浪分享上有电子书下载,可以先下下看看,如果真的想看还是建议备一本真书。

Spring版本及差别
    几个重要的版本:1.x,2.0,2.5,3.x
    2.0相对于1.x最主要的差别是applicationContext.xml规则由dtd变成了xsd,并且在配置中spring2.0用scope="singleton/prototype"替代spring1.x中的singleton="true/false"。其它的就是集成了AspectJ,对JPA进行支持,支持动态语言ruby、groovy、beanshell,异步JMS支持,JMX支持,JCA支持的功能完善等等。
    2.5最引人关注的就是注解的支持(就是那个JSR-250)。当然还有些jar包名字与内容的变化。
    3.x 多了个Spring EL,对Java新特性提供了各种支持,各种功能进行了各种增强,好吧,自己看手册吧,太多了。

Spring VS EJB
    这个以后会详细说的,Spring的诞生的确是因为EJB实在是太厚重了,而Spring的流行也使曾经雄霸一时的EJB有些一蹶不振,但是后来EJB痛并思痛,我们可以看到EJB3.0在某些方面的改进还是会让人对它重新期待起来。

Spring一些概念
    Spring 质量三角:(忘了是不是叫这个了,google了一下Spring三角,出来的只有钢琴,酒店和内裤,我了个汗…)Ioc+AOP+ Service Abstraction(轻量级服务抽象)
    Ioc/DI:Inversion of Control/Dependency Injectio,控制反转,或者依赖注入,其实是一个东东,Spring的核心,主要用于松散耦合,宗旨就是一个对象里的成员装配交由Spring来管理,是不是不明白,很好,以后会明白的。
    AOP:Aspect Oriented Programming,面向切面编程,什么是切面(百度百科的解释竟然是各种面条,你让我怎么copy…),比如我们做一个网站,在访问每个网页前我们都需要对用户的操作权限进行验证,那么传统的做法就是把验证过程抽象成方法,然后一次次的调用,而AOP的思想是,我们可以将后台方法想象成一个个平行的纵向流,那这个权限验证相当于在每个流的顶端的一个面,这个就是面条,不是,是那个切面,我们对这个面进行编程就是AOP了。
    O/R Mapping:Object-relational mapping,又叫ORM,就是POJO和数据库表映射的模型化数据的方法。
    MVC:不想说了,不明白的自己查查吧,打字好累。

猜你喜欢

转载自z-rabbit.iteye.com/blog/1848967