spring三大框架面试题(java面试 谈谈对ssh三大框架的理解)

本文目录
java面试 谈谈对ssh三大框架的理解
首先hibernate是一个持久层框架,轻量级(性能好),orm映射灵活,对表与表的映射关系处理的很完善,对jdbc做了良好的封装,使得我们开发时与数据库交互不需要编写大量的sql语句。
而struts是一个mvc的web层框架,底层是对servlet的大量封装,拥有强大的拦截器机制,主要负责调用业务逻辑Service层。
三大框架的大致流程jsp-》struts-》service-》hibernate。因为struts负责调用Service从而控制了Service的生命周期,使得层次之间的依赖加强,也就是耦合。
所以我们引用了spring,spring在框架中充当容器的角色,用于维护各个层次之间的关系。通过IOC反转控制DI依赖注入完成各个层之间的注入,使得层与层之间实现完全脱耦,增加运行效率利于维护。
并且spring的AOP面向切面编程,实现在不改变代码的情况下完成对方法的增强。比较常用的就是spring的声明式事务管理,底层通过AOP实现,避免了我们每次都要手动开启事物,提交事务的重复性代码,使得开发逻辑更加清晰。
这样应付面试应该可以了,不过他可能会细问,比如hibernate的懒加载,spring的AOP和IOC原理等,这个还需要在准备准备
java三大框架问题Spring
default-autowire="byName"//spring容器首先选择按照bean的名字对相关字段进行注入。
default-lazy-init="false"//spring 负责创建的bean是容器一启动就统统给创建好呢?还是调用到相应的bean时才创建呢?就是由这个来设置的,false就是启动时就创建。
default-dependency-check="none"//默认注入检查
default-init-method="initialize"//bean 被spring 创建后之后就调用那个bean里面的那个方法,初始化方法。
default-destroy-method="destory"//spring 创建的bean 被销毁后执行的方法,一般只要关闭容器时才会销毁。你指定的是bean里面的那个方法,就执行那个方法
java三大框架面试题
SSH:
spring 初始化组件----分层理念(就类似与中央管理省,省管理市等等)里,你想用下一层某个类的实例,但又不想自己new,好了,spring做的就是这个工作----初始化你需要的实例对象(通常是在xml文件中进行配置,希望简化配置可以用注解)。(再通俗点说,某个省的代表在驻京办,这时中央如果想了解某个省的情况的话,就直接问驻京办的该省代表,而不用再派专人到该省询问了。此时,可以近似理解为,中央为一个类,该省为一个类,驻京办为spring容器,该省代表为该省的一个实例(但未初始化,因为不在驻京办他的价值也就没了),如果他在驻京办而且告诉驻京办他是该省的代表,那就代表中央可以使用他了---此时可以说,驻京办实例化了该省类的对象。)
struts 控制跳转-----比如说,你用SSH写了一个登陆的逻辑,如果输入信息正确跳转到成功界面,如果不正确就跳转到错误提示界面,那跳转的方向由谁指定呢,对就是struts.xml文件(里面对应的跳转逻辑名)。
hibernate 将对象型的数据类型保存到关系型数据库中的工具。比如说,Java是面向对象的开发语言,而现在的数据库(Oracle、MySQL、sqlserver等等)基本上都是关系型的,如何把面向对象的数据类型保存在关系型的数据库中呢?hibernate就是干这行的。

更多文章:
下载mysql的步骤(win10安装mysql的步骤和方法)
2026年9月7日 04:10
checked in(check in和check out的区别)
2026年9月7日 01:20
java经典上机编程题(java上机题 请问这道题应该怎么写)
2026年9月7日 01:10
影视剧中有哪些剧情颠覆了你的三观?金庸的武侠小说《白马啸西风》为什么没有被拍成电影或者电视剧
2026年9月7日 00:30
mysql varchar和char的区别(mysql中char、varchar、nvarchar区别)
2026年9月7日 00:10
linux命令的选项和参数(linux为什么要有参数和选项)
2026年9月6日 20:20




