关于SSH的个人见解

     首先我们看下SSH分别是:Struts+Spring+Hibernate;
      相信大家有用过J2EE的都会接触过SSH的开发。那么我们有去想过我们为什么要去用这些框架呢?
Struts的分析:
大家在使用Struts的时候都知道,Struts是基于MVC的模式来开发的。使用者也是按照这种思想来操作和配置。那为什么要有MVC模式呢?首先模式:是一种标准,经验。而框架:基于某种模式,确定方向。那MVC中的M又有:model1和model2两种。
      model1:jsp+javaBean;JSP中有大量的java代码有可能是dao或BO.这样就复用性不强
      model2:jsp+servlet+javaBean。逻辑层,表现层,业务层清晰的分隔出来。具有组件的可重用性。所以Struts使用了model2.struts的有点还有:请求可配置性,组件可重用性,强大的标签库,验证框架,国际化标签。
Hibernate的分析:
思想:作为一种中间层,解决了SQL语句直接与数据库耦合出现的兼容问题,从而可以跨平台。来源:面向对象的查询语句,最早是EJB2.1的QL(query language)先提出面向对象查询语句(HQL);hibnate2.1不支持批量处理,hibernate3.1或hibernate3.2比较完善;
EJB3.0完善了出现了JPA就是EJBSQL;所以java也是这样的思想,利用JVM来做中间层,跨平台.C++就是一种直接与系统内核耦合。作用:解决了数据库平台跨越的问题。比如一种插拔式:就如面向接口,多态。好比抽象类与接口:比如主板与插槽。主板是接口,其他插槽就是实现接口是一种规范,定义有哪些功能。抽象类是把一些共同的属性和方法拦截,因为在很多实现类中都会用到的方法所以就用抽象类来拦截。
Spring的分析:
以前:Model-------->Dao
model调用dao的以前方法是UserDaoInf userdao=new UserDaoImpl();
改进后:
Model----BeanFactory---->Dao
我们使用BeanFactory工厂:
提供一个方法:public UserDaoInf getUserDaoInf(){
    Class clz=Class.forName("完整类名");
    return clz.newInstance();
   }
这里的("完整类名")我们可以通过一个配置文件。
beans.properties文件:className=demo.UserDaoImpl.
DI依赖注入。为了改变我要主动去拿。 不用我需要就去拿。
Ioc:注入,
Aop:面向切面编程,一般应用于事务和安全方面。
  |
----------->动态代理对象的方法
  |
  |
----------->动态代理对象的方法
  |
  |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值