Spring 的简单的介绍

Spring是一个开源框架,是为简化企业级应用开发而出现的。使用Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能,比如事务处理,日志记录,持久化服务和JMS服务等等。听到对Spring描述最多的一句话是:它是一个 DI和AOP容器框架。具体描述Spring如下:
      1.轻量级。 整个大小可以打成一个2.5 MB 的jar包,而且 Spring 的处理开支也很小。 更重要的是Spring 是非侵入性的: 基于Spring开发的应用中的对象可以不依赖于Spring的API。
      2.依赖注入(DI --- dependency injection)
      3.面向切面编程(AOP --- aspect oriented programming)
      4.容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期。
      5.框架:Spring实现了使用简单的组件配置组合成一个复杂的应用。在Spring中可以使用XML文件组合这些对象。
    IOC(Inversion of Control):其思想是反转资源获取的方向,传统的资源查找方式要求组件向容器发起请求查找资源。作为回应,容器适时的返回资源。而应用了IOC之后,则是容器主动地将资源推送给它所管理的组件,组件所要做的仅是选择一种合适的方式来接受资源,这种行为也被称为查找的被动形。
    DI(Dependency Injection):IOC 是一种通用的设计原则, 而 DI 则是具体的设计模式,它体现了 IOC设计原则。在DI模式里,容器以一些预先定义好的方式(例如:setter方法)将匹配的资源注入到每个组件里。因为DI是IOC最典型的实现,所以DI和IOC经常混用。
    JAVA的web领域有很多框架和标准,为什么要使用spring呢?事实上spring已经成功的抢占了EJB的市场,虽然现在EJB3.0的推出给spring带来的威胁,但是至少在可预见的未来四年中,spring仍将是处于主导地位的首选框架。下面来看看在项目中引入spring立即可以带来的好处:
      1.降低组件之间的耦合度,实现软件各层之间的解耦。
      2.可以使用容器提供的众多服务,如:事务管理服务、消息服务等等。当我们使用容器管理事务时,开发人员就不再需要手工控制事务,也不需处理复杂的事务传播。
      3.容器提供单例模式支持,开发人员不再需要自己编写实现代码。
      4.容器提供了AOP技术,利用它很容易实现如权限拦截、运行期监控等功能。
      5.容器提供的众多辅作类,使用这些类能够加快应用的开发,如: JdbcTemplate、 HibernateTemplate。
      6.Spring对于主流的应用框架提供了集成支持,如:集成Hibernate、JPA、Struts等,这样更便于应用的开发。
    从上可以看出,spring功能的确很强大,除了不能开发分布式应用以外,其它应用spring可以说应该说是首选。就拿开发中常用的事务处理来说,不论是用JDBC还是Hibernate进行操作,在执行操作之前都要打开事务,在操作完成后需要关闭事务。在这打开和关闭中,都只能在一个方法中执行一个事务。如果需要将两个在代码上没有联系的操作放在一个事务中,就需要将Connection或者Session当参数进行传递,进而保证两个在代码上没有联系方法能处在同一个事务中。这种情况还是能够通过代码解决的。还有一种情况是通过一般JDBC或者Hibernate解决不了的,那就是分布式的事务,涉及到不同数据库的回滚操作。而这些功能spring都能提供。这还只是其中一个方面,spring有点除了以上总结的,还有很多。现在就先从搭建环境来接触和使用spring,体验spring的优点。开发环境的搭建如下:
       把以下jar包加入到工程的classpath下:
          1.dist/spring。jar: 该文件中包含了所有标准的 spring 模块
          2.lib/jakarta-commons/commons-logging。jar:spring 使用该库输出日志信息
          3.Spring的配置文件:一个典型的Spring项目需要创建一个或多个Bean 配置文件,这些配置文件用于在Spring IOC容器里配置Bean。Bean的配置文件可以放在classpath下,也可以放在其它目录下。可以复制samples/jpetstore/war/WEB-INF/applicationContext。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值