牛客网刷题知识点总结(七)java框架

来源:互联网 发布:android 5.1 数据开关 编辑:程序博客网 时间:2024/06/01 08:30

七、java框架

1.Structs2 

web.xml 首先需要配置 filter 以及filter-mapping

structs.xml 


客户端发送一个请求,web服务器会检查是哪一个web application(一般一个项目代表一个web application)来处理这个请求。找到web application后,会参考web.xml中的filter,执行doFilter方法。doFilter方法会参考structs.xml找到namespace,action,result。将请求forward到jsp页面,jsp页面显示在客户端。


2. structs1 和 structs2 不同点

(1)Action的实现类, Structs1要求Action类继承一个抽象基类,Structs2中Action类既可以实现一个Action接口,也可以实现其他接口。

(2)Structs1 Action是单例模式且是线程安全的(只有Action的一个实例来处理所有请求),structs2 Action对象为每个请求产生一个实例,不存在线程安全。

(3)Structs1 Action以来Servlet API,Structs2 Action 不依赖

(4)Structs1使用ActionForm对象封装用户的请求参数,所有ActionForm必须继承一个基类(ActionForm)。 Structs2直接使用Action属性来封装用户请求属性,避免了大量开发ActionForm类的繁琐。

3.IOC

IoC控制反转(依赖注入),是一种降低对象之间的耦合关系的设计思想。  对象不会被显示调用,而是根据需求通过IoC容器(如spring)来提供,

(通过配置文件 创建调用者对象,同时把被调用者的对象的实例化对象通过构造函数或set()方法  注入到调用者 对象中)

4.AOP(Aspect Oriented Programming,AOP)

 面向切片编程,是面向对象编程的一种补充。允许开发人员在不改变原来的模型基础上动态的修改模型以满足新的需求。

 需要 配置 SpringConfig.xml


5.Hibernate

Hibernate  是一个 ORM(Object - Relation Mapping对象关系映射)框架。

Hibernate使用过程:

(1)通过Configuration类读取配置文件并创建SessionFactory对象

SessionFactory sessionFactory = new Configuration().configure().buildSessionfactory();

(2)通过SessionFactory生成一个Session对象

Session session = sessionFactory。openSession();

(3)通过Session对象的beginTrancation()方法创建一个事务。

Transaction t = session.beginTransaction();

接着通过Session对象的get(),load(),save(),update(), delete(),saveOrUpdate()等方法实现数据的加载、保存、更新、删除等。也可以使用session穿件一个Query对象,进行查询操作。

最后通过commit()或者rollback方法完成事务的操作。

(4)完成持久化操作和事务操作后,关闭session和sessionFactory

6. Hibernate 缓存技术

一级缓存Session管理(线程不安全,不能共享),二级缓存由SessionFactory管理(类似于全局缓存,可以共享)

当使用Session查找东西,西安从session内部查找,找到则返回; 否则去数据库找(若有二级缓存,先去二级缓存找),并将找到的结果缓存起来。

7.Hibernate优点和提高性能

(1)优点:提高开发效率、完全采用面向对象,不用关心数据库关系模型、很好的移植性、透明持久化。

(2)提高性能:(1)延迟加载,即创建代理对象并设置代理对象的属性为默认值,等真正使用时才去数据库加载对应数据。

   (2)缓存技术 (3)优化查询语句

1.优化hibernate所鼓励的7大措施:

(1)尽量使用many-to-one,避免使用单项one-to-many
(2)灵活使用单向one-to-many
(3)不用一对一,使用多对一代替一对一
(4)配置对象缓存,不使用集合缓存
(5)一对多使用Bag 多对一使用Set
(6)继承使用显示多态 HQL:from object polymorphism="exlicit" 避免查处所有对象
(7)消除大表,使用二级缓存



8. Hinernate实现类之间的关系

 (1)配置文件中的many-to-one、 one-to-many、 many-to-many

 (2)使用注解

9.主键生成策略

Identity、。。。。。。。。。。。。。。。

10.Hibernate中对象的三种状态

Transient        Persisent      Detached     


11. Hibernate 分页机制

(1)通过session对象获得QUery对象。

(2)使用Query对象的setFirstResult(xxx)方法来设置要查询的第一行数据;

(3)使用Query对象的setMaxResult(xxx)方法来设置要查询结果集的大小(即要查多少数据);


原创粉丝点击