80 лучших вопросов для собеседования по Spring MVC (2025 г.)
Вот вопросы и ответы на собеседовании Spring MVC для как новичков, так и опытных кандидатов, желающих получить работу своей мечты.
Вопросы и ответы на собеседование по Spring MVC для первокурсников
1) Что такое пружина?
Spring призван стать фреймворком, который помогает Java программист для разработки кода и предоставляет контейнер IOC, Dependency Injector, MVC flow и многие другие API для Java-программиста.
2) Какие советы весной?
Это реализация аспекта. Совет подобен обучению вашего приложения новому трюку. Обычно они вводятся в точках соединения.
👉 Бесплатная загрузка PDF-файла: Вопросы и ответы для интервью по Spring MVC Framework
3) Какова область действия bean-компонента по умолчанию в среде Spring?
Область действия bean-компонента по умолчанию — Singleton для среды Spring.
4) Назовите типы управления транзакциями, которые поддерживает Spring?
Управление транзакциями, поддерживаемое Spring:
- Декларативное управление транзакциями.
- Программное управление транзакциями.
5) Являются ли бины Singleton потокобезопасными в Spring Framework?
Нет, одноэлементные bean-компоненты не являются потокобезопасными в среде Spring.
6) Каковы преимущества Spring Framework?
Ниже приведены преимущества Пружинный каркас:
- Широкое использование компонентов
- Повторное использование
- Развязка
- Уменьшает усилия по кодированию за счет использования реализаций шаблонов, таких как синглтон, фабрика, локатор сервисов и т. д.
- Удаление протекающих соединений
- Декларативное управление транзакциями
- Легко интегрируется со сторонними инструментами и технологиями.

7) Что такое Фабрика Фасоли?
Bean Factory — это ядро Spring Framework и легкий контейнер, который загружает определения компонентов и управляет вашими компонентами. Компоненты настраиваются с использованием XML-файла и управляют одноэлементным компонентом. Он также отвечает за методы жизненного цикла и вводит зависимости. Он также удаляет специальные синглтоны и фабрики.
8) Определить подключение компонентов?
Соединение компонентов — это создание ассоциаций между компонентами приложения, которые находятся между компонентами в определенном контейнере Spring.
9) Что называется Spring MVC?
Spring MVC — это один экземпляр общего контроллера, который используется для обработки контроллеров типа запроса, перехватчиков, которые работают в контейнере IoC. Он также позволяет использовать несколько сервлетов-диспетчеров, которые могут использовать общий интерфейс контекста приложения, но не интерфейс на основе классов.
10) Зачем нужен Spring framework?
Spring Framework необходим, потому что он –
- Очень легкий контейнер
- Рамки
- МОК
- АОП
11) Назовите различные модули, используемые в Spring Framework?
- Модуль АОП (аспектно-ориентированное программирование)
- Абстракция JDBC и модуль DAO
- Модуль основного контейнера
- Модуль инфраструктуры MVC
- Модуль контекста приложения
- Модуль интеграции сопоставления O/R (объектный/реляционный)
- Веб-модуль
12) Объясните RowCallbackHandler в Spring?
RowCallbackHandler вызывается для каждой строки в ResultSet и используется для чтения значений из ResultSet.
13) Определить модуль контекста приложения?
Это очень важный модуль, предоставляющий различные необходимые услуги, такие как интеграция EJB, удаленное взаимодействие, доступ JNDI и планирование. Он превращает весну в каркас. Он также расширяет идею BeanFactory за счет применения событий жизненного цикла, обеспечивая поддержку сообщений интернационализации и проверки.
14) Напишите о модуле АОП?
Модуль AOP используется для создания аспектов для приложений Spring. Он также обеспечивает поддержку программирования метаданных в Spring.
15) Что такое интерфейс BeanFactory?
Интерфейс фабрики компонентов используется для обеспечения структуры конфигурации для создания объектов и базовых функций управления объектами.
16) Укажите различия между ApplicationContext и BeanFactory весной?
- ApplicationContext допускает существование более одного файла конфигурации, тогда как BeanFactory допускает только один.
- ApplicationContext может печатать события в bean-компонентах, зарегистрированных в качестве прослушивателей. Эта функция не поддерживается BeanFactory.
- ApplicationContext также обеспечивает поддержку применения событий жизненного цикла, сообщений интернационализации и проверки, а также предоставляет такие услуги, как интеграция EJB, удаленное взаимодействие, доступ JNDI и планирование. Эти функции также не поддерживаются Bean Factory.
17) Что такое автоматическая проводка?
Автомонтаж используется для построения отношений между взаимодействующими компонентами. Контейнер Spring может автоматически определять соавторов для bean-компонентов.
18) Каковы различные режимы автоматического подключения?
Автопроводка имеет пять различных режимов:
- нет: нет автоматического подключения
- по имени: Автоматическое подключение, которое можно выполнить по имени свойства
- по типу: тип свойства как автоподключение
- конструктор: Он похож на byType, и это свойство находится в конструкторе.
- Автоматически определять: Spring разрешено выбирать автоматическое подключение из byType или конструктора.
19) Как начать использовать пружину?
Чтобы начать работу с Spring, необходимо выполнить следующие шаги:
- Загрузите Spring и зависимый от него файл с сайта Spring.
- Создайте XML-файл контекста приложения для определения bean-компонентов и их зависимостей.
- Интеграция XML контекста приложения с web.xml
- Развертывание и запуск приложения
20) Каковы методы жизненного цикла компонента?
Существует два важных метода жизненного цикла Bean:
- Настройка – вызывается, когда компонент загружается в контейнер.
- Teardown – вызывается, когда компонент выгружается в контейнер
21) Каковы различные типы событий прослушивателей?
Ниже приведены различные типы событий прослушивателей:
- КонтекстЗакрытоеСобытие – Это событие вызывается, когда контекст закрывается.
- ContextRefreshedEvent – Это событие вызывается, когда контекст инициализируется или обновляется.
- RequestHandledEvent – Это событие вызывается, когда веб-контекст обрабатывает запрос.
22) В чем разница между синглтоном и прототипом bean-компонента?
Синглтон означает, что для каждого экземпляра объекта определен только один компонент, тогда как прототип означает одно определение для более чем одного экземпляра объекта в Spring.
23) Каковы типы внедрения зависимостей?
Spring Framework поддерживает два типа внедрения зависимостей:
- Инъекция сеттера
- Внедрение конструктора
24) Напишите о модуле контейнера Core?
Модуль основного контейнера отвечает за базовую функциональность Spring Framework. Вся среда Spring построена на основе этого модуля.
25) Что такое модуль АОП?
Этот модуль AOP используется для приложений с поддержкой пружины. Была оказана поддержка альянсу AOP для обеспечения совместимости между Spring и другими платформами AOP.
Он инструктирует Spring добавлять аннотации к исходному коду и сообщать, как применять аспекты.
Вопросы для собеседования по Spring MVC для опытных
26) Что такое Альянс АОП?
Альянс AOP — это проект с открытым исходным кодом, целью которого является содействие внедрению АОП. Целью альянса АОП является определение общего набора компонентов и интерфейсов для улучшения взаимодействия между различными реализациями АОП.
27) Что называется файлом конфигурации Spring?
Файл конфигурации Spring представляет собой XML-файл и содержит информацию о классе. Здесь также описывается, как эти классы настраиваются и взаимодействуют друг с другом.
28) Какие существуют типы Autowire?
Существует четыре различных типа автоматического провода:
- по имени
- по типу
- конструктор
- AutoDetect
29) Какие типы управления транзакциями поддерживаются Spring?
Ниже приведены типы управления транзакциями, поддерживаемые Spring:
- декларативный
- программно
30) Когда используется декларативное и программное управление транзакциями?
Когда количество транзакционных операций небольшое, рекомендуется использовать программное управление транзакциями. Но если необходимо выполнить большое количество транзакционных операций, предпочтительнее декларативное управление транзакциями.
31) Что такое МОК?
IOC (шаблон инверсии управления) также известен как внедрение зависимостей. МОК предписывает программистам изображать, как создавать объекты, а не создавать их на самом деле. Но в этом шаблоне проектирования этот контроль передан ассемблеру, и ассемблер при необходимости создаст экземпляр требуемого класса.
32) Напишите о различных типах событий, связанных с прослушивателем?
Различные типы событий, связанных с прослушивателями:
- ContextRefreshedEvent – Это вызывается, когда контекст обновляется или инициализируется.
- RequestHandledEvent – Это вызывается, когда веб-контекст обрабатывает запрос.
- КонтекстЗакрытоеСобытие – Это вызывается, когда контекст закрывается.
33) Что такое аспект?
Аспект также называется журналированием, которое требуется во всем приложении. Ведение журнала или аспект — это сквозная функциональность в приложении, использующем АОП.
34) Что такое точка соединения?
Точка, в которой аспект может быть введен в приложение, называется точкой соединения. Этой точкой может быть изменяемое поле, вызываемый метод или даже создаваемое исключение. На этом этапе можно добавить код нового аспекта, чтобы придать приложению новое поведение.
На этом этапе код аспекта можно вставить в обычный поток приложения, чтобы изменить текущее поведение.
35) Что называется советом?
Совет сообщит приложению о новом поведении, и это реализация аспекта. Он вставляется в приложение в точке соединения.
Совет – это реализация аспекта. Это что-то вроде сообщения приложению о новом поведении. Обычно рекомендации вставляются в приложение в точках соединения.
36) Что такое Pointcut?
Pointcut используется для того, чтобы указать, где можно применить совет.
37) Что такое плетение?
Переплетение используется для создания нового прокси-объекта путем применения аспектов к целевому объекту.
38) В чем разница между синглтоном и прототипом bean-компонента?
Синглтон Бин – Одно определение bean-компонента для одного экземпляра объекта для каждого контейнера Spring IOC.
Прототип Бина – Одно определение bean-компонента для любого количества экземпляров объекта в контейнере Spring IOC.
39) В каких точках можно применять плетение?
Ниже приведены точки, где можно применять плетение:
- Время компиляции
- Время загрузки классов
- Время выполнения
40) Каковы различные типы автопроксирования?
Ниже приведены различные типы автопроксирования:
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
- Автопроксирование метаданных
41) Как можно сделать бины синглтоном или прототипом?
Тег bean-компонента имеет атрибут под названием «singleton». Компонент является одноэлементным, если его значение равно TRUE, в противном случае компонент является прототипом.
42) Какие классы используются для управления подключением к базе данных?
Ниже приведены классы, которые используются для управления подключением к базе данных:
- Утилиты источников данных
- Источник смарт-данных
- АннотацияИсточник данных
- Источник данных SingleConnection
- Источник данных DriverManager
- DataSourceProxy с поддержкой транзакций
- Менеджер транзакций источника данных
43) Расскажите о фреймворке DAO in Spring?
DAO используется для обеспечения интеграции Java возможность подключения к базе данных и объекты реляционного сопоставления объектов. DAO — это Spring Framework, обеспечивающий соединение для JDBC, Hibernate, JDO, JPA, общего клиентского интерфейса и Oracle.
44) Что такое автопроксирование?
Автопроксирование используется для автоматического создания прокси для пользователей Spring. Он предоставляет следующие два класса для поддержки автоматического создания прокси:
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
45) Что такое автопроксирование метаданных?
Автопроксирование метаданных может быть выполнено с использованием метаданных. Это определяется атрибутами уровня исходного кода и сохраняет метаданные внутри исходного кода.
Это сохраняет метаданные в одном месте и в основном используется для декларативной поддержки транзакций.
46) Что такое «Бросать советы» в Spring?
«Выдает совет» определяет поведение при возникновении исключения. Это интерфейс, и у него нет методов, которые необходимо реализовать.
Класс, реализующий этот интерфейс, должен иметь метод с такой сигнатурой:
- Void samplethrow (Бросать таблетку)
- Void samplethrow (Метод m, Объект[] o, Цель объекта, Бросок планшета)
47) Какие редакторы используются в весенней работе?
Spring Framework предоставляет различные пользовательские редакторы:
- Редактор свойств
- Редактор URL
- Редактор классов
- CustomDateEditor
- Редактор файлов
- Редактор локали
- Редактор свойств массива строк
- Редактор StringTrimmer
48) Каковы преимущества пружинного каркаса?
Ниже приведены преимущества пружинной структуры:
- Многоуровневая Archiтекстура
- Включает Plain Old Java Объектное (POJO) программирование, обеспечивающее непрерывную интеграцию и возможность тестирования.
- Внедрение зависимостей и инверсия управления, упрощающие JDBC
- Фреймворк с открытым исходным кодом, который можно использовать в коммерческих целях.
49) Как осуществляется доступ к Hibernate с помощью среды Spring?
Доступ к спящему режиму можно получить двумя способами:
- Автор IOC с обратным вызовом и HibernateTemplate.
- Применив перехватчик AOP и расширив HibernateDaoSupport.
50) Какие каналы поддерживаются Spring 2.0?
Ниже приведены каналы, поддерживаемые версией Spring 2.0:
- Опрашиваемый канал
- Канал для подписки
- ОпубликоватьПодписаться на канал
- Канал очереди
- Приоритетный канал
- Канал встречи
- Прямой канал
- Канал исполнителя
- Ограниченный канал
Вопросы для собеседования по Spring MVC для людей с опытом работы более 5 лет
51) Почему в Spring предпочтительнее декларативное управление транзакциями?
Декларативное управление транзакциями оказывает минимальное влияние на код приложения и, следовательно, представляет собой идеалистический легкий контейнер.
52) Объясните концепцию BeanFactory?
BeanFactory применяет идею фабричного шаблона, который использует IOC для отделения зависимостей и конфигурации приложения от фактического кода.
53) Каковы различные области применения весенней фасоли?
Областью действия Spring Bean являются Singleton, прототип, запрос, сеанс и глобальный сеанс.
54) Каковы все способы доступа к Hibernate с помощью Spring?
Есть два способа получить доступ к спящему режиму с помощью Spring:
- Инверсия управления с помощью шаблона Hibernate и обратного вызова
- Расширение поддержки HibernateDAOS и применение узла перехватчика AOP.
55) Как можно интегрировать применение стоек с пружиной?
Существует два варианта применения стоек, которые могут быть интегрированы с пружиной:
Конфигурация Spring для управления bean-компонентами с помощью плагина ContextLoader и установки их зависимостей в файле контекста Spring.
Захватите управляемые Spring bean-компоненты явно, используя agetwebapplicationcontext()
56) Что такое инверсия управления (IOC)?
Инверсию управления (IOC) также называют инъекцией зависимостей, которая представляет собой не что иное, как шаблон проектирования, который передает управление ассемблеру классов. Как правило, при необходимости класс создает экземпляр другого класса.
Но в этом шаблоне проектирования этот контроль был передан ассемблеру, и ассемблер при необходимости создаст экземпляр требуемого класса.
57) Напишите преимущества использования IOC?
Основные преимущества внедрения зависимостей или IOC заключаются в том, что они уменьшают объем кода, необходимого для приложения. Это позволяет выполнять тестирование приложения быстро и легко, поскольку не требуется никакого механизма поиска JNDI или синглтонов. Контейнеры IOC также поддерживают отложенную загрузку и быструю установку сервисов.
58) Что такое внутренний компонент? В чем недостаток внутреннего компонента?
Если элемент bean-компонента непосредственно встроен в тег свойства при подключении bean-компонентов, то bean-компонент называется Inner Bean. Его недостаток в том, что его невозможно переработать.
59)Какие виды инъекций бывают весной?
Весной существует три вида инъекций:
- Инъекция сеттера
- Внедрение конструктора
- Геттер или внедрение метода
60) Каковы преимущества пружинного фреймворка?
Ниже приведены преимущества Spring Framework:
- Легкий контейнер по сравнению с контейнерами j2EE.
- Встроенный фреймворк Web MVC.
- Создает слабосвязанные приложения.
- Поддерживает аспектно-ориентированное программирование, такое как ведение журнала, транзакции и безопасность.
- Конфигурация выполнена в формате XML, который легко писать и понимать.
61) Каковы виды советов?
Существует пять типов советов:
- Перед советом
- После возвращения совета
- После того, как бросил совет
- Наконец совет
- Вокруг совета
62) Что называется ReadedStatementCreator?
Подготовленное заявлениеCreator — один из наиболее часто используемых интерфейсов для записи данных в базу данных. createPreparedStatement() — это метод, который можно использовать для создания и возврата ReadPreparedStatement из аргумента Connection, при этом обработка исключений выполняется автоматически. Когда этот интерфейс реализован, также может быть реализован другой интерфейс SqlProvider, который имеет метод getSql(). Этот метод полезен для предоставления строк sql в JdbcTemplate. Он не обрабатывает SQLExceptions.
63) Что такое SQLProvider?
SQLProvider имеет только один метод под названием getSql()
и это реализуется с помощью ReadedStatementCreator реализаторы. В основном он используется для отладки.
64) Напишите про BatchPreparedStatementSetter?
BatchPreparedStatementSetter используется для обновления более чем одной строки за один раз. Они могут использовать BatchPreparedStatementSetter. Этот интерфейс предоставляет два метода:
- setValues (PreparedStatement ps, int i) выдает исключение SOL
- int getBatchSize
65) Какой метод использования JDBC лучше использовать в Spring?
Если JDBC используется с классом шаблонов JdbcTemplate, это обеспечивает более высокую производительность.
66) Какие исключения используют классы DAO в Spring?
Весенние классы DAO выдают только SQLException.
67) Объясните преимущества использования модуля DAO?
Код базы данных можно сохранить чистым и простым, используя модуль DAO. Это помогает предотвратить проблемы, возникающие из-за плохой обработки закрытий ресурсов базы данных. Кроме того, модуль DAO использует модуль AOP, чтобы объекты в приложении Spring могли использовать службы управления транзакциями.
68) Назовите важные реализации ApplicationContext, используемые в среде Spring?
К ним относятся:
- Класспасксмлаппликионконтекст
- FileSystemXmlApplicationContext
- XmlWebApplicationContext
69) Как бин добавляется в приложение Spring?
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"> <beans> <bean id="foo"/> <bean id="bar"/> </beans>
Тег компонента имеет атрибут ID, в котором хранится имя компонента, и атрибуты класса, указывающие полное имя класса.
70) Что такое модули интеграции ORM?
Инструмент объектно-реляционного сопоставления (ORM) поддерживается Spring через прямой JDBC за счет реализации модуля ORM. Spring может объединяться с различными важными платформами ORM, включая JDO, iBATIS SQL Maps и Hibernate.
71) Назовите и объясните типы советов весной?
Виды консультаций:
- Перед советом: Совет, который выполняется до точки соединения, называется «советом перед».
- После возвращения совет: Совет, который выполняется после нормального завершения точки соединения, называется «советом после возврата».
- После того, как бросил совет: Совет, который выполняется только в случае аварийного завершения метода из-за выдачи исключения, называется «советом после выдачи».
- После (наконец) совета: Совет, который выполняется независимо от выхода из точки соединения, называется «после окончательного совета».
- Вокруг советы: Совет, граничащий с точкой соединения, например вызов метода, называется «советом вокруг». Это можно использовать для выполнения специальных действий до и после вызова метода.
72) Что такое веб-модуль?
Веб-модуль позволяет создавать веб-приложения без XML. Файл web.xml необходимо настроить для использования веб-модуля.
73) Что такое DataAccessException?
DataAccessException — это исключение RuntimeException. Это непроверяемое исключение. Пользователя нельзя заставить обрабатывать такого рода исключения.
74) Что такое XMLBeanFactory?
Spring включает в себя несколько приложений Bean Factory. Из них очень важным является org.springframework.beans.factory.xml.XmlBeanFactory. Он загружает bean-компоненты на основе определений, хранящихся в файле XML. Для создания XmlBeanFactory конструктору передается java.io.InputStream. InputStream предоставляет XML фабрике. Например, для получения bean-компонента метод getBean() вызывается путем передачи имени нужного bean-компонента.
MyBean helloBean = (MyBean) factory.getBean("helloBean");
75) Назовите класс исключений, который связан с исключениями, создаваемыми приложениями?
Это исключение DataAccessException, заданное org.springframework.dao.DataAccessException.
76) Укажите типы LOC (внедрения зависимостей)?
Различные типы LoC: –
- Инъекция сеттера: С помощью JavaСвойства фасоли.
- Внедрение конструктора: Зависимости задаются в виде параметров конструктора.
- Внедрение интерфейса: С помощью интерфейса выполняется Инъекция.
Из этих трех в Spring используются только конструкция и сеттер.
77) Каковы важные методы жизненного цикла компонентов?
В общем, существует два метода жизненного цикла компонента. Первый метод — это метод установки, который вызывается во время загрузки компонента в контейнер. Второй — когда бин выгружается из контейнера, и этот метод называется демонтажем.
78) Как можно аннулировать методы жизненного цикла компонентов по умолчанию?
Тег bean имеет два полезных атрибута, которые можно использовать для определения специальных методов инициализации и уничтожения.
Например, два новых метода Setup и forTeardown можно добавить в класс Foo следующим образом:
<beans> <bean id="bar" init-method="forSetup" destroy="forTeardown"/> </beans>
79) Что такое Target?
Целью является класс, который рекомендуется. Этот класс может быть либо классом, к которому мы хотим добавить особое поведение, либо сторонним классом. Целевой класс может сосредоточиться на своей основной задаче, используя концепции АОП, независимо от каких-либо рекомендаций, которые применяются.
80) Объясните термин «Прокси»?
Термин «прокси» относится к объекту, который создается применением рекомендации к целевому объекту.
81) Что такое сквозное беспокойство и беспокойство в весеннем АОП?
- Межсекторальная проблема: Это проблема, которая применима ко всему приложению и влияет на все приложение. Например, безопасность, ведение журнала и передача данных — это проблемы, которые необходимы почти в каждом модуле приложения.
- Беспокойство: Обеспокоенность — это поведение, которое мы хотим иметь в модуле приложения. Вопросы, которые нас интересуют, определяют нашу заботу.
Эти вопросы для собеседования также помогут вам в устной речи.