JavaEE三大框架ssh

狂风中的少年 提交于 2019-11-29 06:13:30

  JAVA中常说的三大框架指:SSH
即:Spring、Struts、Hibernate 
Spring:功能强大的组件粘合济,能够将你的所有的java功能模块用配置文件的方式组合起来(还让你感觉不到spring的存在)成为一个完成的应用

Struts:功能强大的MVC架构

Hibernate:强大的ORM工具,然后很方便将数据库记录转化为java的实体实例,将java的实体实例很容易的保存到数据库中,如果你不需要很复杂的数据库访问,利用它你根本就不用了解数据库的细节


JavaEE三大框架


Hibernate


Hibernate是(orm)对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,Hibernate 是一个开源代码的对象关系映射框架,是强大的ORM工具,通过mapping的标签来做文件映射,方便将数据库记录转化为java的实体实例,将java的实体实例很容易的保存到数据库中。

简化jdbc操作,可以自动把从数据库查询到的结果封装成对象

基于jdbc的主流持久化框架

优点:优秀的Java 持久化层解决方案 

主流的对象—关系映射工具 

简化了JDBC 繁琐的编码 

将数据库的连接信息都存放在配置文件

表单的CURD:创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作

查询语言

ps:qbc和本地sql检索。。。

1、SQL:写SQL语句,然后通过Hibernate把查询的数据赋予POJO

(Structured Query Language)结构化查询语言

2、HQL:面向对象查询 (推荐用法)

(Hibernate Query Language) hibernate 查询语言

3、Criteria:更加面向对象的查询方式

对象状态

瞬时对象:还没有与数据库有任何关联的对象,这样的对象称为瞬时(临时)对象

持久化对象:瞬时对象一旦与session关联起来直到session关闭,整个过程中的po对象都称为持久化对象

脱离(游离)对象:曾经与数据库有过同步,但是,现在数据库已经关闭了。而对象还处于内存中,这个处于缓存中的对象称为脱离对象。

瞬时对象和游离对象区别:一般情况下,瞬时对象无主键,脱离对象有主键

关系映射

一对多映射 one2many

开发中表与表之间最常见的就是1对多关系,比如一个用户对应多个地址(用户表,地址表),一个部门下有多个雇员(dept,emp)

一对一映射 one2one

 唯一主键关联的一对一  和  外键关联的一对一

连接池 存放连接的池子 提高效率

缓存

Hibenrate的session缓存,称为一级缓存,不安全,生命周期一般很短,一个sesison对应一个数据库的一次操作(像JSP中的 request内存)

一级缓存默认开启,也无法关闭。

Hibernate的SessionFactory缓存,称为二级缓存,安全,周期长,一个SessionFactory对应一个数据库,像JSP内置对象的(application


spring框架

  • spring最主要的作用是控制对象的创建,和管理对象与对象间的关系

  • 依赖注入(DI)又称为控制反转(IOC),通常来说,当某个角色需要另一个角色才能正常运行时,通常是由调用者来创建被调用者的实例。但是在Spring框架中,创建被调用者的任务交给了Spring框架

  • 面向切片编程(AOP)是面向对象编程(OOP)的延续,AOP中代码的编写顺序不再影响代码的执行顺序,目的是解耦业务代码和公共服务代码(如日志,安全,事务等)。

  • Spring是一个容器框架,他可以负责产生bean(Java类、JavaBeanDao.),并维护beanbean之间的关系能够将你的所有的java功能模块用配置文件的方式组合起来成为一个完成的应用;spring利用它的IOCAOP来处理控制业务,负责对数据库的操作。Spring将显卡和CPU组装在一起,相当于电脑的一个主板。

  • 一般来说我在开发ssh框架项目的时候使用注解进行依赖注入,

    dao层代码使用注解@Repository    

    service层使用注解@Service @Transactional  

    controller层 使用注解@controller

    如果使用的是struts2框架controller还要加注解@scope(" prototype" )

  • 我们注入对象使用@Resource (先按名称查找,再按类型查找)

    @Autowired (先类型后名称)


Struts框架

Struts:struts2是个MVC框架

Struts的关键是M(MODEL)-V(VIEW)-C(CONTROL)

  • 模型(M):用于封装与业务逻辑相关的数据和数据处理方法。

  • 视图(V):用于数据的展现

  • 控制器(C):负责相应请求,协调Model和View


Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。


  • struts2是个MVC框架

  • 作用是把前台(jsp, HTML)提交的表单数据,在控制器接收时进行自动的封装

  • 主流MVC框架有struts2和spring MVC过时strutsl

  • 效率servlet>springMVC>struts2

     (servlet, springMVC是单例模式。struts2不是 单例模式)

  • 核心原理:我们在web项目中定 又一个过滤器,过滤所有请求,请把请求交给StrutsPrepareAndExecuteFilter处理,然后经过多个struts2的默认拦截器, 把数据封装好过,会进入到action中进行操作

  • struts2默认把封装求得的数据放在了request对象中,而且struts2默认从控制器跳转到页面的方式是转发

  • struts2的实现新建class,让他继承ActionSupport.如果前台有数据传过来我们对他进行封装(private getter处理业务要新建一一个返回值是String的无参方法,在struts. xml中配置这个action和其返回值



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!