对象框架笔试题-csdn

csdn是什么  时间:2021-04-27  阅读:()

Hibernate工作原理及为什么要用

原理

1 .读取并解析配置文件

2. 读取并解析映射信息创建SessionFactory

3.打开Sesssion

4.创建事务Transation

5.持久化操作

6.提交事务

7.关闭Session

8.关闭SesstionFactory

为什么要用

1 .对JDBC访问数据库的代码做了封装大大简化了数据访问层繁琐的重复性代码。

2. Hibernate是一个基于JDBC的主流持久化框架是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作

3. hibernate使用Java反射机制而不是字节码增强程序来实现透明性。

4. hibernate的性能非常好 因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库从一对一到多对多的各种复杂关系。

2 Hibernate是如何延迟加载?

1. Hibernate2延迟加载实现 a)实体对象b)集合(Col lection)

2. Hibernate3提供了属性的延迟加载功能

当Hibernate在查询数据的时候数据并没有存在与内存中当程序真正对数据的操作时 对象才存在与内存中 就实现了延迟加载 他节省了服务器的内存开销 从而提高了服务器的性能。

3 Hibernate中怎样实现类之间的关系?(如一对多、多对多的关系 )

类与类之间的关系主要体现在表与表之间的关系进行操作 它们都市对对象进行操作 我们程序中把所有的表与类都映射在一起它们通过配置文件中的 many-to-one、 one-to-many、many-to-many、

4 说下Hibernate的缓存机制

1 . 内部缓存存在Hibernate中又叫一级缓存属于应用事物级缓存

2.二级缓存a)应用及缓存b)分布式缓存

条件数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非关键数据c)第三方缓存的实现

5 Hibernate的查询方式

Sql 、 Criteria,object comptosition

Hql 

1 、 属性查询

2、 参数查询、命名参数查询

3、 关联查询

4、 分页查询

5、 统计函数

6 如何优化Hibernate 

1 .使用双向一对多关联不使用单向一对多

2.灵活使用单向一对多关联

3.不用一对一用多对一取代

4.配置对象缓存不使用集合缓存

5•—对多集合使用 Bag,多对多集合使用Set

6.继承类使用显式多态

7.表字段要少表关联不要怕多有二级缓存撑腰

7 Struts工作机制为什么要使用 Struts

工作机制

Struts的工作流程:

在web应用启动时就会加载初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象当Action Servlet接收到一个客户请求时 ,将执行如下流程.-(1)检索和用户请求匹配的 ActionMapping实例,如果不存在,就返回请求路径无效信息 ;-(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;

-(3)根据配置信息决定是否需要表单验证 .如果需要验证,就调用ActionForm的val idate()方法;

-(4)如果ActionForm的val idate()方法返回nul l或返回一个不包含ActionMessage的ActuibErrors对象,就表示表单验证成功;

-(5)ActionServlet根据Actio nMapp i ng所包含的映射信息决定将请求转发给哪个Actio n,如果相应的Actio n实例不存在 就先创建这个实例 然后调用Actio n的exec ute。方法

-(6)Action的exec ute()方法返回一个Actio nF orward对象,Action Servlet在把客户请求转发给Actio nForward对象指向的JS P组件

-(7)ActionForward对象指向JS P组件生成动态网页返回给客户

为什么要用

JSP、 Servlet、 JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些

技术构建的系统非常的繁乱 所以在此之上 我们需要一个规则、 一个把这些技术组织起来的规则这就是框架 Struts便应运而生。

基于Struts开发的应用由3类组件构成控制器组件、模型组件、视图组件

8 Struts的val idate框架是如何验证的

在struts配置文件中配置具体的错误提示再在FormBean中的val idate()方法具体调用。

9 说下Struts的设计模式

MVC模式:web应用程序启动时就会加载并初始化ActionServler 。用户提交表单时 一个配置好的ActionForm对象被创建 并被填入表单相应的数据 ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证如果需要就调用ActionForm的

Val id ate()验证后选择将请求发送到哪个 Actio n如果Actio n不存在 Actio nServlet会先创建这个对象然后调用 Actio n的execute()方法。 Execute()从ActionForm对象中获

取数据完成业务逻辑返回一个Act io n Fo rwa rd对象 Act io n Se rvlet再把客户请求转发给Actio nForward对象指定的jsp组件 Action Forward对象指定的jsp生成动态的网页返回给客户。

10 spring工作机制及为什么要用?

1 . spring mvc请所有的请求都提交给 DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。

2. DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Control ler.

3. DispatcherServlet请请求提交到目标Control ler

4. Control ler进行业务逻辑处理后会返回一个ModelAndView

5. Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象

6.视图对象负责渲染返回给客户端。

为什么用

{AO P让开发人员可以创建非行为性的关注点 称为横切关注点 并将它们插入到应用程序代码中。使用AO P后公共服务(比如日志、持久性、事务等)就可以分解成方面并应用到域对象上 同时不会增加域对象的对象模型的复杂性。

IOC允许创建一个可以构造对象的应用环境 然后向这些对象传递它们的协作对象。 正如单词倒置所表明的 IOC就像反过来的JNDI 。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straight construction)每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(col laborator ) 。

Spring即使一个AOP框架也是一IOC容器。 Spring最好的地方是它有助于您替换对象。有了Spring,只要用JavaBean属性和配置文件加入依赖性(协作对象) 。然后可以很容易地在需要时替换具有类似接口的协作对象。

[黑五]ProfitServer新加坡/德国/荷兰/西班牙VPS五折,不限流量KVM月付2.88美元起

ProfitServer已开启了黑色星期五的促销活动,一直到本月底,商家新加坡、荷兰、德国和西班牙机房VPS直接5折,无码直购最低每月2.88美元起,不限制流量,提供IPv4+IPv6。这是一家始于2003年的俄罗斯主机商,提供虚拟主机、VPS、独立服务器、SSL证书、域名等产品,可选数据中心包括俄罗斯、法国、荷兰、美国、新加坡、拉脱维亚、捷克、保加利亚等多个国家和地区。我们随便以一个数据中心为例...

CYUN专注海外精品服务器资源 国庆钜惠 最低5折起 限量促销

国庆钜惠 最低5折起 限量促销CYUN专注海外精品服务器资源,主营香港CN2 GIA、美国CERA、美国高防服务器资源,实体公司,ISP/IDC资质齐全,客服配备齐全。本次针对国庆推出非常给力的促销活动,旗下所有平台同享,新老客户同享,限时限量,售完截止。活动截止时间:2021年10月9日官网地址:www.cyun.net参与机型:香港CN2 GIA云服务器、香港双程CN2云服...

1C2G5M轻量服务器48元/年,2C4G8M三年仅198元,COM域名首年1元起

腾讯云双十一活动已于今天正式开启了,多重优惠享不停,首购服务器低至0.4折,比如1C2G5M轻量应用服务器仅48元/年起,2C4G8M也仅70元/年起;个人及企业用户还可以一键领取3500-7000元满减券,用于支付新购、续费、升级等各项账单;企业用户还可以以首年1年的价格注册.COM域名。活动页面:https://cloud.tencent.com/act/double11我们分享的信息仍然以秒...

csdn是什么为你推荐
preloadedbaidu恶意win7步骤ios平台操作使用手册win10445端口win的22端口和23端口作用分别是什么 ?win7telnet怎样在win7下打开telnet 命令迅雷快鸟迅雷快鸟这种强盗软件不违规吗?csshackcss中 *bottom是什么意思?chromeframechrome需要frame吗firefoxflash插件火狐浏览器怎么安装flash
播放vps上的视频 google电话 西安电信测速 sugarsync 双11抢红包攻略 免费个人博客 主机合租 骨干网络 上海服务器 无限流量 海外空间 河南移动梦网 石家庄服务器托管 nnt 免费赚q币 sonya linux服务器系统 美国西雅图独立 热云 遨游论坛 更多