强烈推荐一个大神的人工智能的教程:http://www.captainbed/zhanghan

前言

     最近在做一个SSH网上商城的项目,在项目中经常要在Spring中,也就是建立的applicationcontext文件中配置Action、Service、Dao等内容。而仔细看看写的都是非常有规律,Action中注入的是相关Service的配置,Service中是相关Dao的注入,Dao中是相关Factory的注入,可能说到这里还是有些读者没有搞明白我前边所述是在描述什么,那不得不说的是在开发SSH网上商城的时候用到的框架是Struts(表示层)+Spring(业务层)+Hibernate(持久层),怎么样,有过开发经验的读者应该都接触过经典三层架构,有没有一些熟悉的感觉?

是什么

     Spring是一个业务层框架,在这里就简单介绍一下SSH的三种框架,Struts是表示层的框架,主要作用是界面展示,接收请求,分发请求。Hibernate是一个持久层的框架主要是和数据库打交道,而Spring正是起到了使这三者结合的效果,使这三者可以很好的配合完成相应的工作。

为什么用

     我们现在有了三层,三层各自分工明确,Struts只负责界面展示相关,Spring负责业务处理,Hibernate负责数据库连接,增删改查等一系列操作,再也不用面对复杂而多的代码了,大大的减轻了代码量,而且也是面向对象编程了,而不是面向一大堆杂乱无章的代码了。在传统的java web开发中,每层之间是如何调用的呢?表示层想调用业务层,那就需要在业务层new出一个业务层的对象,然后再使用其中的方法,同样,业务层想使用持久层的方法也需要在业务层new出一个持久层的对象,然后再使用其中的方法。

    传统三层调用(Service调用Dao层):

 

//dao层对象  
public class ManageDao{  
   public void insert(User user){}  
}  
   
//service层对象  
public classManageService{  
   public void insert(User user){  
       ManageDao managedao = new ManageDao();  
       managedao.insert(user);  
   }  
}  

   Spring三层调用(Service调用Dao层):

 

 

<!-- 后台登录的service -->
	<bean id="adminUserService" class="cn.itcast.shop.adminuser.service.AdminUserService">
		<property name="adminUserDao" ref="adminUserDao"/>
	</bean>

 

总结

    相比于传统三层调用,更加的解耦,层与层之间的调用直接在Spring中注入一次就可以,不需要再去New出一个对象,不过也有缺点,就是需要Spring的环境。

更多推荐

【SSH】Spring框架学习