- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(word)SSH面试题
SSH面试题
1.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).使用双向一对多关联,不使用单向一对多
2).灵活使用单向一对多关联
3).不用一对一,用多对一取代
4).配置对象缓存,不使用集合缓存
5).一对多集合使用Bag,多对多集合使用Set
6). 继承类使用显式多态
7). 表字段要少,表关联不要怕多,有二级缓存撑腰
3.Hibernate有哪几种查询数据的方式
hql查询,sql查询,条件查询
4.Spring mvc工作机制及为什么要用?
1).spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。
2).DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.
3).DispatcherServlet请请求提交到目标Controller
4).Controller进行业务逻辑处理后,会返回一个ModelAndView
5).Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象
6).视图对象负责渲染返回给客户端。
为什么用:
AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 AOP 后,公共服务 (比 如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。
IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词 倒置 所表明的,IOC 就像反 过来的 JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straight construction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。
Spring即使一个AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替换对象。有了 Spring,只要用 JavaBean 属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。
5.spring的事务有几种方式?谈谈spring事务的隔离级别和传播行为。
声明事务和编程事务
隔离级别:
DEFAULT使用数据库默认的隔离级别
READ_UNCOMMITTED会出现脏读,不可重复读和幻影读问题
READ_COMMITTED会出现重复读和幻影读
REPEATABLE_READ会出现幻影读
SERIALIZABLE最安全,但是代价最大,性能影响极其严重
和传播行:
REQUIRED存在事务就融入该事务,不存在就创建事务
SUPPORTS存在事务就融入事务,不存在则不创建事务
MANDATORY存在事务则融入该事务,不存在,抛异常
REQUIRES_NEW总是创建新事务
NOT_SUPPORTED存在事务则挂起,一直执行非事务操作
NEVER总是执行非事务,如果当前存在事务则抛异常
NESTED嵌入式事务
spring 的优点??1).降低了组件之间的耦合性 ,实现了软件各层之间的解耦?2).可以使用容易提供的众多服务,如事务管理,消息服务等?3).容器提供单例模式支持?4).容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能?5).容器提供了众多的辅助类,能加快应用的开发?6).spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等?7).spring属于低侵入式设计,代码的污染极低?8).独立于各种应用服务器?9).spring的DI机制降低了业
文档评论(0)