【5】进大厂必须掌握的面试题-Java面试-spring

spring面试问题

Q1。什么是spring?

Spring本质上是一个轻量级的集成框架,可用于用Java开发企业应用程序。

Q2。命名Spring框架的不同模块。

一些重要的Spring Framework模块是:

  • Spring Context –用于依赖注入。
  • Spring AOP –用于面向方面的编程。
  • Spring DAO –使用DAO模式进行数据库操作
  • Spring JDBC –用于JDBC和DataSource支持。
  • Spring ORM –对ORM工具的支持,例如Hibernate
  • Spring Web Module –用于创建Web应用程序。
  • Spring MVC –用于创建Web应用程序,Web服务等的Model-View-Controller实现。

Q3。列出基于注释的Spring配置中的一些重要注释。

重要的注释是:

  • @Required
  • @Autowired
  • @Qualifier
  • @Resource
  • @PostConstruct
  • @PreDestroy

Q4。在Spring中解释Bean并列出Spring Bean的不同范围。

Bean是构成Spring应用程序主干的对象。它们由Spring IoC容器管理。换句话说,bean是一个由Spring IoC容器实例化,组装和管理的对象。

Spring bean中定义了五个范围。

SpringBean-Java面试问题-Edureka
  • Singleton:将为每个容器创建一个bean实例。这是spring bean的默认范围。在使用此范围时,请确保spring bean没有共享的实例变量,否则可能会导致数据不一致问题,因为它不是线程安全的。
  • 原型:每次请求bean时都会创建一个新实例。
  • 请求:这与原型范围相同,但是应用于Web应用程序。将为每个HTTP请求创建一个新的bean实例。
  • 会话:容器将为每个HTTP会话创建一个新bean。
  • Global-session:这用于为Portlet应用程序创建全局会话Bean。

Q5。解释DispatcherServlet和ContextLoaderListener的角色。

DispatcherServlet基本上是Spring MVC应用程序中的前端控制器,因为它加载了Spring bean配置文件并初始化所有已配置的bean。如果启用了注释,它还将扫描软件包以配置任何使用@ Component,@ Controller,@ Repository或@Service注释进行注释的bean。

另一方面,ContextLoaderListener是在Spring根目录中启动和关闭WebApplicationContext的侦听器。它的一些重要功能包括将Application Context的生命周期与ServletContext的生命周期绑定在一起,并自动创建ApplicationContext。

ContextLoader-Java面试问题-Edureka

Q6。构造函数注入和setter注入之间有什么区别?

没有。 构造函数注入 setter注射
1) 无局部注入 部分注射
2) 不覆盖setter属性 如果定义了构造函数,则重写它们。
3) 如果发生任何修改,则创建一个新实例 如果更改属性值,则不会创建新实例
4) 对于太多的属性更好 更好的一些属性。

Q7。spring的自动注入模式是什么?什么是自动装配模式?

自动装配使程序员能够自动注入Bean。我们不需要编写显式的注入逻辑。 让我们看看使用依赖注入来注入bean的代码。

<bean id = “ emp” class = “ com.javatpoint.Employee” autowire = “ byName” /> 

自动装配模式如下:

没有。 模式 描述
1) 没有 这是默认模式,这意味着未启用自动装配。
2) 按名字 根据属性名称注入bean。它使用setter方法。
3) 按类型 根据属性类型注入bean。它使用setter方法。
4) 构造函数 它使用构造函数注入bean

Q8。如何在Spring MVC Framework中处理异常?

Spring MVC Framework提供了以下方法来帮助我们实现可靠的异常处理。

基于控制器:

我们可以在控制器类中定义异常处理程序方法。我们所需要做的就是使用@ExceptionHandler注释对这些方法进行注释。

全局异常处理程序:

异常处理是一个跨领域的问题,Spring提供了@ControllerAdvice批注,我们可以将其与任何类一起使用来定义全局异常处理程序。

HandlerExceptionResolver实现:

对于一般的异常,大多数时候我们提供静态页面。Spring Framework提供了HandlerExceptionResolver接口,我们可以通过该接口来创建全局异常处理程序。这种定义全局异常处理程序的其他方法背后的原因是,Spring框架还提供了默认实现类,我们可以在我们的Spring bean配置文件中定义这些默认实现类,以获得Spring框架异常处理的好处。

Q9。您使用了哪些重要的Spring批注?

我在项目中使用的一些Spring注释是:

@Controller –用于Spring MVC项目中的控制器类。

@RequestMapping –用于在控制器处理程序方法中配置URI映射。这是一个非常重要的注释,因此您应该阅读Spring MVC RequestMapping注释示例

@ResponseBody –用于发送对象作为响应,通常用于发送XML或JSON数据作为响应。

@PathVariable –用于将动态值从URI映射到处理程序方法参数。

@Autowired –用于自动装配Spring bean中的依赖项。

@Qualifier –带有@Autowired注释,以避免在存在多个bean类型的实例时造成混淆。

@Service –用于服务类。

@Scope –用于配置Spring bean的范围。

@ Configuration,@ ComponentScan和@Bean –用于基于Java的配置。

AspectJ注释,用于配置方面和建议,@ Aspect,@ Before,@ After,@ Around,@ Pointcut等。

Q10。如何集成Spring和Hibernate框架?

如果您使用的是SessionFactory提供当前会话的Hibernate 3+,那么我们可以使用Spring ORM模块来集成Spring和Hibernate框架,那么您应该避免使用HibernateTemplate或HibernateDaoSupport类,而最好使用带有依赖项注入的DAO模式进行集成。

另外,Spring ORM还提供了对使用Spring声明式事务管理的支持,因此您应该利用它,而不是使用休眠的样板代码进行事务管理。

Q11。命名Spring支持的事务管理的类型。

Spring支持两种类型的事务管理。他们是:

  1. 程序化事务管理: 在这种情况下,借助编程来管理事务。它为您提供了极大的灵活性,但是很难维护。
  2. 声明式事务管理: 在此,事务管理与业务代码分开。仅注释或基于XML的配置用于管理事务。

欢迎关注 Java架构师社区公众号.
本文转载自Java架构师必看 ,更多内容点击查看!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342