随笔-21  评论-29  文章-0  trackbacks-0
再用了几天时间快速地了解了Struts和Hibernate框架之后,想也先基本地了解一下Spring技术,然后在深入地学习这三个框架。
Spring是什么?
   Spring是一个开源的控制反转(Inversion of Control,IoC)和面向切面(AOP)的容器框架,它的主要目的是简化企业开发。
IOC 控制反转
   先看一下一段代码
public class PersonServiceBean{
   
private PersonDao personDao = new PersonDaoBean();

   
public void save(Person person){
      personDao.save(person);
   }

}
PersonDaoBean是在应用内部(PersonServiceBean)创建及维护的。所以控制反转就是应用本身不负责依赖对象的创建及维护。依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
依赖注入(Dependency Injection)
当我们把依赖对象交给外部容器负责创建,那么PersonServiceBean类可以改成如下:
public class PersonServiceBean{
     
private PersonDao personDao;
   
//通过构造器参数,让容器把创建好的依赖对象注入进PersonServiceBean,当然也可以使用setter方法进行注入。
     public PersonServiceBean(PersonDao personDao){
         
this.personDao = personDao ;
  }

    
public void save(Person person){
        personDao.save(person);
  }

}
所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中。
为什么要使用Spring?
   1.降低组件之间的耦合度,实现软件各层之间的解耦。
                Controller ——》Service ——》 DAO
   2.可以使用容器提供的众多服务,如事务管理服务、消息服务等。当我们使用容器管理事务时,开发人员就不再需要手工控制事务,也不需处理复杂的事物传播。
      


 
   3.容器提供单例模式支持。开发人员不再需要自己填写实现代码。
   4.容器提供了AOP技术,利用它很容易实现如权限拦截、运行期监控等功能。
   5.容器提供的众多辅助类,使用这些类能够加快应用的开发,如JDBC Template、Hibernate Template。
   6.Spring对于主流的应用框架提供了集成支持,如集成Hibernate、JPA、Struts等,这样更便于应用的开发。



posted on 2009-05-05 15:18 特立独行 阅读(362) 评论(0)  编辑  收藏 所属分类: Spring框架

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


网站导航: