笨笨熊.java

笨笨熊的JAVA学习笔记

BlogJava 首页 新随笔 联系 聚合 管理
  5 Posts :: 0 Stories :: 32 Comments :: 0 Trackbacks

1.什么是Spring Framework?
    Spring Framework(简称Spring)是根据Rod Johnson著名的《Expert One-on-One J2EE Design and Development》而开发的J2EE应用程序框架。目前主要根据Rod Johnson和Juergen Hoeller而进行开发的,目前发布的最新版为1.1.4。    Spring是J2EE应用程序框架,不过,更严格地讲它是针对Bean的生命周期进行管理的轻量级容器(Lightweight container),可以单独利用Spring构筑应用程序,也可以和Struts,Webwork,Tapestry等众多Web应用程序框架组合使用,并且可以与Swing等桌面应用程序API组合。所以Spring并不仅仅只能应用在J2EE中,也可以应用在桌面应用及小应用程序中。针对Spring开发的组件不需要任何外部库。
2.使用Spring有什么好处?
     (1)Spring能有效地组织你的中间层对象。
     (2)Spring能消除在许多工程中常见的对Singleton的过多使用。
     (3)Spring能消除各种各样自定义格式的属性文件的需要,使配置信息一元化。
     (4)Spring能够帮助我们真正意义上实现针对接口编程。
     (5)在Spring应用中的大多数业务对象没有依赖于Spring。
     (6)使用Spring构建的应用程序易于单元测试。
     (7)Spring支持JDBC和O/R Mapping产品(Hibernate)
     (8)MVC Web框架,提供一种清晰,无侵略性的MVC实现方式。
     (9)JNDI抽象层,便于改变实现细节,可以方便地在远程服务和本地服务间切换。
    (10)简化访问数据库时的例外处理。
    (11)Spring能使用AOP提供声明性事务管理,可以不直接操作JTA也能够对事务进行管理。
    (12)提供了JavaMail或其他邮件系统的支持。
3.什么是轻量(Lightweight)级容器?
    Spring的开发者可以避免使用重量级容器开发EJB时的缺点:
    (1)带有侵略性的API。(代码依赖于EJB)
    (2)对容器的依赖。(代码不能在EJB容器之外工作)
    (3)提供固定的一组机能,不具有配置能力。
    (4)不同的产品,部署过程不同,不易通用。
    (5)启动时间长。
    针对以上问题,Spring采用了IoC使代码对Spring的依赖减少,根据Web应用,小应用程序,桌面应用程的不同,对容器的依赖程度也不同。Spring将管理的Bean作为POJO(Plain Old Java Object)进行控制,通过AOP Interceptor能够增加其它的功能。
    除了Spring以外的轻量级容器还有PicoContainer,(不是轻量级容器)对Bean的生命周期进行管理的还有Apache Avalon Project的Avalon等。

    总结:Spring的核心思想便是IoC和AOP,Spring本身是一个轻量级容器,和EJB容器不同,Spring的组件就是普通的Java Bean,这使得单元测试可以不再依赖容器,编写更加容易。Spring负责管理所有的Java Bean组件,同样支持声明式的事务管理。我们只需要编写好Java Bean组件,然后将它们“装配”起来就可以了,组件的初始化和管理均由Spring完成,只需在配置文件中声明即可。这种方式最大的优点是各组件的耦合极为松散,并且无需我们自己实现Singleton模式。 

posted on 2005-09-21 22:17 笨笨熊 阅读(419) 评论(1)  编辑  收藏

Feedback

# re: Spring Framework的基本概念 2007-10-16 21:21 请输入你的姓名
1422  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: