Java对Java框架spring、hibernate、Struts的先导了解

Struts 的理解:

  1. struts 是一个按 MVC
    方式设计的 Web 层框架,其实它就是一个大大的 servlet,那一个
    Servlet 名为 ActionServlet,或是 ActionServlet 的子类。大家可以在 web.xml
    文件少将符
    合某种特征的保有请求提交这几个 Servlet 处理,这几个 Servlet 再参考一个安顿文件(寻常为
    /WEB-INF/struts-config.xml)将相继请求分别分配给不一致的 action 去处理。
    一个扩张知识点: struts 的配置文件可以有五个,可以按模块配置各自的配备文件,那样可
    以幸免配置文件的过度膨胀;
    2.ActionServlet 把请求提交 action 去处理此前,会将请求参数封装成一个 formbean 对象(就
    是一个 java 类,那么些类中的每个属性对应一个伸手参数),封装成一个哪些的
    formbean
    对象呢?看安顿文件。
    3.要证实的是, ActionServlet 把 formbean 对象传递给 action 的 execute 方法往日,可能
    会调用 formbean 的
    validate 方法开展校验,只有校验通过后才将以此 formbean 对象传递
    给 action 的 execute 方法,否则,它将回来一个谬误页面,那个错误页面由
    input 属性指定,
    4.action 进行完后要回到呈现的结果视图,这几个结果视图是用一个
    ActionForward 对象来表
    示的, actionforward 对象通过 struts-config.xml
    配置文件中的配置关联到某个 jsp 页面,因
    为顺序中接纳的是在 struts-config.xml 配置文件为 jsp 页面设置的逻辑名,那样能够兑现
    action 程序代码与重回的 jsp 页面名称的解耦。

Hibernate 的理解:

  1. 面向对象设计的软件内部运转进程可以知晓成就是在持续创制各个新指标、建立目标之
    间的关系,调用对象的法子来改变种种对象的景色和对象消亡的长河,不管程序运行的进度
    和操作怎么着,本质上都是要博得一个结果,程序上一个整日和下一个整日的运行结果的差
    异就表现在内存中的目的景况爆发了转移。
    2.为了在关机和内存空间不够的现象下,保持程序的运转状态,需求将内存中的对象景况保
    存到持久化设备和从持久化设备中复苏出目的的情形,经常都是保留到关全面据库来保存大
    量对象信息。从 Java 程序的运转效果上来讲,保存对象意况的效果相比较系统运作的其他功
    能的话,应该是一个很不起眼的专属作用, java
    采取 jdbc 来促成这几个成效,那个不起眼的
    职能却要编制多量的代码,而做的政工仅仅是保存对象和回复对象,并且那么些坦坦荡荡的
    jdbc
    代码并从未什么样技术含量,基本上是运用一套例行公事的正统代码模板来编排,是一种苦活
    和重复性的办事。
    3.由此数据库保存 java 程序运行时发生的对象和復苏对象,其实就是已毕了 java 对象与关
    全面据库记录的照耀关系,称为 ORM(即 Object
    RelationMapping),人们得以经过包装
    JDBC 代码来兑现了那种效果,封装出来的产品号称 ORM 框架, Hibernate 就是中间的
    一种流行 ORM 框架。使用 Hibernate 框架,不用写 JDBC 代码,仅仅是调用一个 save

    法,就足以将目的保存到关周密据库中,仅仅是调用一个 get 方法,就足以从数据库中加载
    出一个目标。
    4.运用 Hibernate 的基本流程是:配置
    Configuration 对象、暴发 SessionFactory、创制
    session 对象,启动工作,落成 CRUD
    操作,提交业务,关闭 session。
    5.选拔 Hibernate 时,先要配置 hibernate.cfg.xml 文件,其中布署数据库连接信息和方言等,
    还要为每个实体配置相应的 hbm.xml 文件,hibernate.cfg.xml
    文件中须求登记每个 hbm.xml
    文件。
    6.在选用 Hibernate 时,重点要精晓Session 的缓存原理,级联,延迟加载和 hql 查询。
    Spring 的理解:
    1.Spring 落成了工厂形式的厂子类(在此间有须求解释清楚怎么是工厂形式),这些类名为
    BeanFactory(实际上是一个接口),在先后中常见 BeanFactory 的子类 ApplicationContext。
    Spring 相当于一个大的厂子类,在其布局文件中通过<bean>元素配置用于创制实例对象的
    类名和实例对象的性质。
  2. Spring 提供了对
    IOC 优秀帮助, IOC 是一种编程思想,是一种架构艺术,利用那种考虑
    可以很好地落到实处模块之间的解耦。IOC 也号称 DI (Depency Injection),什么叫依赖注入呢?
    譬如,

    Class Programmer
    {
    Computer computer =null;
    public void code()
    {
    //Computercomputer = new IBMComputer();
    //Computercomputer = beanfacotry.getComputer();
    computer.write();
    }
    public voidsetComputer(Computer computer)
    {
    this.computer= computer;
    }
    }

 

除此以外三种艺术都由信赖,第二个平昔依赖于目标类,第三个把看重转移到工厂上,第两个彻
底与对象和工厂解耦了。在 spring 的配置文件中布署部分如下:

<bean id=”computer” class=”cn.itcast.interview.Computer”>
</bean>
<bean id=”programmer” class=”cn.itcast.interview.Programmer”>
<property name=”computer” ref=”computer”></property>
</bean>
  1. Spring 提供了对 AOP 技术的美丽封装, AOP 称为面向切面编程,就是系统中有成百上千各
    Java,毫无干系的类的不二法门,在这几个洋洋方法中要进入某种系统机能的代码,例如,参加日志,参与
    权力判断,参与非凡处理,那种利用名叫 AOP。达成 AOP 作用使用的是代理技术,客户端
    先后不再调用目的,而调用代理类,代理类与目的类对外具有同样的不二法门表明,有三种方法
    可以兑现均等的法子申明,一是兑现平等的接口,二是当做对象的子类在,JDK 中利用 Proxy
    类暴发动态代理的措施为某个接口生成完毕类,若是要为某个类生成子类,则可以用
    CGLI
    B。在变化无常的代理类的方法中参预序列功用和调用目的类的呼应措施,系统机能的代理以
    Advice 对象开展提供,分明要创制出代理对象,至少须要目的类和
    Advice 类。

相关文章