最近找工作中

解决方案 »

  1.   

    1: 轻量级的框架
    2:非侵入性的
    3:可以整合其他的框架,比如Struts, Hibernate等,使一个全方位的应用程序框架
    4: 可以提供事务管理
      

  2.   

    扩展方便
    托管BEAN  AOP
      

  3.   

    spring最大的作用是ioc/di,将类与类之间的依赖关系写在配置文件中,当程序运行时自动加载依赖的类,
    从而降低了类与类之间的耦合度.再说说他的原理就ok了,还有一个作业是aop,其机理来源于代理模式,
    再把代理模式的原理说下就应该能过了
      

  4.   

    开闭原则:对扩展开放,对修改封闭,这是设计框架的原则,换句话说就是把耦合度降到最低。
    Spring的依赖注入就是这一方面的最好体现。使我们可以实现分层开发
    通过AOP,可实现声明式事务,统一的日志管理等等。
      

  5.   

    其实用spring最好的地方就是实现代码的复用。
    首先spring的设计原则是非侵入性的,就是实际业务逻辑代码中感觉不到spring框架的存在,spring只是在其中起到一个实例产生的作用,然后把实例分配给需要的对象。这种设计的好事就是可以随时随地的把某个业务逻辑很轻松的从整个系统中抽离出来再在无任何修改的情况下用到其他系统中去。
    然后就是切面的编程,这种设计是灵活的操作织入,例如你的某个业务逻辑是执行存款,存款这个业务之前之后都应该有某些附加操作,例如用户登录,检查余额,记录存款日志信息,但是这些不能够放在存款主业务当中,这个时候就可以用面向切面的方式灵活织入到存款业务中,但是这个过程有不需要改变原存款业务代码和逻辑实现。如果将来某个时候这些副业务刚改,例如我不想记录存款日志信息,但是我又要加入打印出存款细节的附加操作,这个时候只要把记录日志剥离出来,再植入打印功能。同样不需要更改源代码。spring这些设计的终极目标就是避免同样或者相似功能在不同系统中的重复开发而设计的。
      

  6.   

    spring 注入,事务管理
    ps:
    哇,小熊猫都变星星了啊,咋没散分呢?
      

  7.   

    人们一般喜欢的东西无非就是   轻便 友好 快捷 安全
    这些spring都具有,轻便和友好楼上已经都说了,spring是面向接口的依赖注入模式,启动后将依赖注入的类全部装载,以后使用时会非常快捷。而且,acegi应用spring的aop技术,可以很好的和项目结合起来,达到安全控制的效果。
      

  8.   


    1到是不一定,根据公司而定
    如果该公司没使用过spring,又得对程序员培训,这就得增加成本了
      

  9.   


      
    spring
    Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。" 目的:解决企业应用开发的复杂性" 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能" 范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。■ 轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。■ 控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。■ 面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务()管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。■ 容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。■ 框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。Spring简介
    关于Spring Framework,今年夏天你可能已经听见很多的议论。在本文中,我将试图解释Spring能完成什么,和我怎么会认为它能帮助你开发J2EE应用程序。我相信Spring是独特的,因为若干个原因:
    . 它定位的领域是许多其他流行的framework没有的。Spring关注提供一种方法管理你的业务对象。
    . Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。因此从你的学习中,你可得到最大的价值。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。
    . 它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。Spring对你的工程来说,它不需要一个以上的framework。Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。尽管它仅仅是一个从2003年2月才开始的开源工程,但Spring有较长的历史根基。这个开源工程是起源自我在2002年后期出版的《Expert One-on-One J2EE设计与开发》书中的基础代码。这本书展示了Spring背后的基础架构。然而,这个基础架构的概念要追溯到2000年的早些时候,并且反映了我为一系列成功的商业工程开发基础结构的经验。从2003年1月,Spring已经落户于SourceForge上。现在有10个开发人员,其中6是高度投入的积极分子。Spring的架构性的好处在我们进入细节以前,让我们看一下Spring可以给一个工程带来的一些好处:. Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB。如果你仅仅使用了Struts或其他的包含了J2EE特有APIs的framework,你会发现Spring关注了遗留下的问题,。. Spring能消除在许多工程上对Singleton的过多使用。根据我的经验,这是一个主要的问题,它减少了系统的可测试性和面向对象特性。. Spring能消除使用各种各样格式的属性定制文件的需要,在整个应用和工程中,可通过一种一致的方法来进行配置。曾经感到迷惑,一个特定类要查找迷幻般的属性关键字或系统属性,为此不得不读Javadoc乃至源编码吗?有了Spring,你可很简单地看到类的JavaBean属性。倒置控制的使用(在下面讨论)帮助完成这种简化。. Spring能通过接口而不是类促进好的编程习惯,减少编程代价到几乎为零。
    . Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。
    . 使用Spring构建的应用程序易于单元测试。
    . Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。
    . Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适于许多web应用。例如,Spring能使用AOP提供声明性事务而不通过使用EJB容器,如果你仅仅需要与单个的数据库打交道,甚至不需要JTA实现。
    . Spring为数据存取提供了一致的框架,不论是使用JDBC或O/R mapping产品(如Hibernate)。
    Spring确实使你能通过最简单可行的解决办法解决你的问题。这些特性是有很大价值的。Spring能做什么?Spring提供许多功能,在此我将快速地依次展示其各个主要方面。任务描述:
    首先,让我们明确Spring范围。尽管Spring覆盖了许多方面,但我们已经有清楚的概念,它什么应该涉及和什么不应该涉及。Spring的主要目的是使J2EE易用和促进好编程习惯。
    Spring不重新开发已有的东西。因此,在Spring中你将发现没有日志记录的包,没有连接池,没有分布事务调度。这些均有开源项目提供(例如Commons Logging 用来做所有的日志输出,或Commons DBCP用来作数据连接池),或由你的应用程序服务器提供。因为同样的的原因,我们没有提供O/R mapping层,对此,已有有好的解决办法如Hibernate和JDO。Spring的目标是使已存在的技术更加易用。例如,尽管我们没有底层事务协调处理,但我们提供了一个抽象层覆盖了JTA或任何其他的事务策略。Spring没有直接和其他的开源项目竞争,除非我们感到我们能提供新的一些东西。例如,象许多开发人员,我们从来没有为Struts高兴过,并且感到在MVC web framework中还有改进的余地。在某些领域,例如轻量级的IoC容器和AOP框架,Spring有直接的竞争,但是在这些领域还没有已经较为流行的解决方案。(Spring在这些区域是开路先锋。)Spring也得益于内在的一致性。
    所有的开发者都在唱同样的的赞歌,基础想法依然是Expert One-on-One J2EE设计与开发的那些。
    并且我们已经能够使用一些主要的概念,例如倒置控制,来处理多个领域。Spring在应用服务器之间是可移植的。
    当然保证可移植性总是一次挑战,但是我们避免任何特定平台或非标准化,并且支持在WebLogic,Tomcat,Resin,JBoss,WebSphere和其他的应用服务器上的用户。
     
      

  10.   

    http://www.redsaga.com/spring_ref/2.0/html/
      

  11.   

    spring是轻量级的,这点很重要
    重要机制是ioc/di
    支持事务
    还有AOP
      

  12.   

    好象每一本J2EE方面的书籍中都有LZ想要的答案!!!
      

  13.   

    ·低侵入式设计,代码污染极低。
    ·独立于各种应用服务器,可以真正实现Write Once, Run Anywhere 的承诺。
    • Spring 的DI 机制降低了业务对象替换的复杂性。
    • Spring 并不完全依赖于Spring ,开发者可自由选用Spring 框架的部分或全部。
      

  14.   

    spring是轻量级的,相对于EJB,实现事务管理
      

  15.   

    诸位大虾,小弟有问题:如果是一个人第一次写一个陌生领域的项目,且以后不会再用到,用spring还有好处吗?