Топ 80 въпроса за пролетно MVC интервю (2025)
Ето въпроси и отговори за пролетно MVC интервю за по-свежи и опитни кандидати, за да получат мечтаната работа.
Въпроси и отговори за пролетно MVC интервю за първокурсници
1) Какво е пружина?
Пролетта е определена като рамка, която помага Java програмист за разработка на код и предоставя IOC контейнер, инжектор на зависимости, MVC поток и много други API за Java програмиста.
2) Какви са съветите през пролетта?
Това е изпълнението на един аспект. Съветът е като да накараш приложението си да научи нов трик. Те обикновено се въвеждат в точки на свързване.
👉 Безплатно изтегляне на PDF: Spring MVC Framework Въпроси и отговори
3) Какъв е обхватът по подразбиране на bean в Spring framework?
Обхватът по подразбиране на bean е рамка Singleton for Spring.
4) Посочете типовете управление на транзакции, които се поддържат от Spring?
Управлението на транзакциите, поддържано от Spring, е:
- Декларативно управление на транзакции.
- Програмно управление на транзакции.
5) Singleton beans са безопасни за нишки в Spring Framework?
Не, сингълтън бобовете не са безопасни за нишки в Spring framework.
6) Какви са предимствата на Spring Framework?
Следват ползите от Пролетна рамка:
- Широка употреба на компоненти
- Реус Възможност
- Разделното
- Намалява усилието за кодиране чрез използване на реализации на шаблони като сингълтон, фабрика, локатор на услуги и др.
- Отстраняване на течащи връзки
- Декларативно управление на транзакции
- Лесен за интегриране с инструменти и технологии на трети страни.
7) Какво е Bean Factory?
Bean Factory е ядрото на пролетната рамка и е лек контейнер, който зарежда дефиниции на bean и управлява вашите bean-ове. Bean се конфигурират с помощта на XML файл и управляват дефиниран сингълтън bean. Той също така отговаря за методите на жизнения цикъл и инжектира зависимости. Той също така премахва adhoc сингълтъни и фабрики.
8) Дефинирайте Bean Wiring?
Окабеляването на зърна е създаването на асоциации между компонентите на приложението, които са между зърната в конкретен пружинен контейнер.
9) Какво се нарича Spring MVC?
Spring MVC е единичен споделен екземпляр на контролер и се използва за обработка на контролери от тип заявка, прехващачи, които се изпълняват в IoC контейнера. Той също така позволява множество сервлети на Dispatcher, които могат да споделят интерфейс на контекста на приложението, но не и интерфейс, базиран на клас.
10) Защо е необходима рамка Spring?
Пролетната рамка е необходима, защото е –
- Много лек контейнер
- Рамка
- МОК
- AOP
11) Назовете различните модули, използвани в spring framework?
- AOP модул (Аспектно ориентирано програмиране)
- JDBC абстракция и DAO модул
- Контейнерният модул Core
- MVC рамков модул
- Модул за контекст на приложението
- Модул за интегриране на O/R картографиране (обектно/релационно)
- Уеб модул
12) Обяснете RowCallbackHandler през пролетта?
RowCallbackHandler се извиква за всеки ред в ResultSet и се използва за четене на стойности от ResultSet.
13) Дефиниране на контекстния модул на приложението?
Това е много важен модул и предоставя различни необходими услуги като EJB интеграция, отдалечено управление, JNDI достъп и планиране. Превръща пролетта в рамка. Той също така разширява идеята за BeanFactory чрез прилагане на събития от жизнения цикъл, предоставяйки поддръжка за съобщения за интернационализация и валидиране.
14) Пишете за AOP модул?
AOP модулът се използва за създаване на аспекти за Spring приложения. Той също така позволява поддръжка за програмиране на метаданни през пролетта.
15) Какво е интерфейс на BeanFactory?
Фабричният интерфейс на Bean се използва за осигуряване на конфигурационна рамка за създаване на обекти и основна функционалност около управлението на обекти.
16) Посочете разликите между ApplicationContext и BeanFactory през пролетта?
- ApplicationContext позволява съществуването на повече от един конфигурационен файл, докато BeanFactory позволява само един.
- ApplicationContext може да отпечатва събития на bean-ове, регистрирани като слушатели. Тази функция не се поддържа от BeanFactory.
- ApplicationContext също така предоставя поддръжка за прилагане на събития от жизнения цикъл, съобщения за интернационализация и валидиране и също така предоставя услуги като EJB интеграция, отдалечено управление, JNDI достъп и планиране. Тези функции също не се поддържат от Bean Factory.
17) Какво е автоматично окабеляване?
Autowiring се използва за изграждане на взаимоотношения между сътрудничещите компоненти. Пролетният контейнер може автоматично да разрешава сътрудници за боб.
18) Какви са различните режими на автоматично окабеляване?
Autowiring има пет различни режима:
- не: няма автокабел
- по име: Автоматично окабеляване, което може да се извърши по име на собственост
- по тип: тип собственост като autowired
- конструктор: Подобно е на byType и това свойство е в конструктора
- автоматично откриване: На Spring е разрешено да избира автоматично свързване от byType или конструктор
19) Как да започнете да използвате пролетта?
За да започнете с пролетта, трябва да направите следните стъпки:
- Изтеглете Spring и зависимия от него файл от сайта на spring.
- Създайте xml контекст на приложение, за да дефинирате beans и неговите зависимости
- Интегрирайте контекста на приложението xml с web.xml
- Разположете и стартирайте приложението
20) Какви са методите за жизнения цикъл на зърната?
Има два важни метода за жизнения цикъл на Bean:
- Настройка – извиква се, когато bean се зареди в контейнер
- Teardown – извиква се, когато зърното се разтовари в контейнер
21) Какви са различните видове събития на Слушателите?
Следват различните типове събития на слушатели:
- ContextClosedEvent – Това събитие се извиква, когато контекстът е затворен.
- ContextRefreshedEvent – Това събитие се извиква, когато контекстът се инициализира или опреснява
- RequestHandledEvent – Това събитие се извиква, когато уеб контекстът обработва заявка
22) Правете разлика между сингълтън и прототип на bean?
Singleton означава, че само един bean е дефиниран за екземпляр на обект, докато Prototype означава една дефиниция за повече от един екземпляри на обект в Spring.
23) Какви са видовете инжектиране на зависимост?
Два типа инжектиране на зависимост се поддържат от spring framework:
- Инжектиране на сетер
- Инжектиране на конструктор
24) Пишете за модул Core container?
Основният контейнерен модул отговаря за основната функционалност на пружинната рамка. Цялата рамка на Spring е изградена с този модул като основа.
25) Какво е AOP модул?
Този AOP модул се използва за приложение с активирана пролет. Осигурена е поддръжка на AOP съюз, за да се гарантира оперативната съвместимост между spring и други AOP рамки.
Той инструктира spring да добави анотации към изходния код и да каже как да приложи аспекти.
Пролетни въпроси за MVC интервю за опитни
26) Какво е AOP Alliance?
AOP alliance е проект с отворен код, който има за цел да насърчи приемането на AOP. Целта на алианса на AOP е да дефинира общ набор от компоненти и интерфейси, така че да се подобри оперативната съвместимост между различните реализации на AOP.
27) Какво се нарича пролетен конфигурационен файл?
Spring конфигурационният файл е XML файл и съдържа информация за класа. Той също така описва как тези класове са конфигурирани и взаимодействат един с друг.
28) Какви са различните видове Autowire?
Има четири различни вида автоматичен проводник:
- поИме
- по тип
- конструктор
- Автоматично
29) Какви са типовете управление на транзакции, които се поддържат от spring?
Следват типовете управление на транзакции, които се поддържат от пролетта:
- декларативен
- програмно
30) Кога се използва декларативно и програмно управление на транзакции?
Когато има само малко количество транзакционни операции, препоръчително е да използвате програмно управление на транзакции. Но ако трябва да се погрижите за голямо количество транзакционни операции, предпочита се декларативно управление на транзакции.
31) Какво е IOC?
IOC (Inversion of Control pattern) е известен също като инжектиране на зависимост. IOC насочва програмистите да изобразяват как да създават обекти, вместо действително да ги създават. Но в този модел на проектиране този контрол е даден на асемблера и асемблерът ще създаде необходимия клас, ако е необходимо.
32) Пишете за различните видове събития, свързани със слушателя?
Различните видове събития, свързани със слушателите, са:
- ContextRefreshedEvent – Това се извиква, когато контекстът се обновява или инициализира.
- RequestHandledEvent – Това се извиква, когато уеб контекстът обработва заявка.
- ContextClosedEvent – Това се извиква, когато контекстът се затвори.
33) Какво е аспект?
Аспектът също се нарича регистриране, което се изисква в цялото приложение. Регистрирането или аспектът е кръстосана функционалност в приложение, използващо AOP.
34) Какво е Joinpoint?
Точката, където даден аспект може да бъде въведен в приложението, е известна като точка на свързване. Тази точка може да бъде модифицирано поле, извикан метод или дори хвърлено изключение. В тези точки може да се добави кодът на новия аспект, за да се въведе ново поведение в приложението.
Кодът на аспекта може да бъде вмъкнат в този момент в нормалния поток на приложението, за да промени текущото поведение.
35) Какво се нарича съвет?
Съветът ще каже на приложението за ново поведение и това е прилагането на аспект. Вмъква се в приложение в точката на свързване.
Съветът е изпълнението на даден аспект. Това е нещо като да кажете на вашето приложение ново поведение. Обикновено съветът се вмъква в приложение в точки на свързване.
36) Какво е Pointcut?
Pointcut се използва, за да позволи къде може да се приложи съветът.
37) Какво е тъкане?
Weaving се използва за създаване на нов прокси обект чрез прилагане на аспекти към целевия обект.
38) Каква е разликата между singleton и prototype bean?
Сингълтън Бийн – Единична дефиниция на bean към един екземпляр на обект за Spring IOC контейнер
Прототип на боб – Единична дефиниция на bean към произволен брой обектни екземпляри на Spring IOC контейнер
39) В какви точки може да се приложи тъкане?
Следват точките, в които може да се приложи тъкане:
- Време за компилиране
- Време за зареждане на класа
- Runtime
40) Какви са различните типове AutoProxying?
Следват различните типове AutoProxying:
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
- Автоматично проксииране на метаданни
41) Как могат да се направят зърна сингълтън или прототип?
Bean тагът има атрибут, наречен "singleton". Бийнът е сингълтон, ако стойността му е 'TRUE', в противен случай бийнът е прототип.
42) Какви класове се използват за контрол на връзката с базата данни?
Следват класовете, които се използват за контрол на връзката с база данни:
- Помощни средства за източник на данни
- Източник на SmartData
- Източник на абстрактни данни
- SingleConnection DataSource
- DriverManager DataSource
- TransactionAware DataSourceProxy
- DataSource TransactionManager
43) Опишете за DAO в Spring framework?
DAO се използва за осигуряване на интеграция на Java свързване на бази данни и обекти за релационно картографиране. DAO е пружинна рамка, осигуряваща връзка за JDBC, хибернация, JDO, JPA, общ клиентски интерфейс и Oracle.
44) Какво е автоматично проксииране?
Автоматичното проксииране се използва за автоматично създаване на прокси за пролетните потребители. Той предоставя следните два класа за поддръжка на това автоматично създаване на прокси:
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
45) Какво е автоматично проксииране на метаданни?
Автоматичното проксииране на метаданни може да се извърши вдъхновяващо, което може да се управлява от метаданни. Това се определя от атрибутите на ниво източник и запазва метаданните в изходния код.
Това поддържа метаданните на едно място и се използва главно за поддръжка на декларативни транзакции.
46) Какво е „Съвет за хвърляне“ през пролетта?
„Съвети за хвърляния“ определят поведението, когато възникне изключение. Това е интерфейс и няма методи, които трябва да бъдат внедрени.
Клас, който имплементира този интерфейс, трябва да има метод с този подпис:
- Празно хвърляне на проба (Хвърляне на таблетка)
- Void samplethrow (Метод m, Object[] o, Object target, Throw tablet)
47) Какви са различните редактори, използвани в пролетната работа?
Различните персонализирани редактори, предоставени от Spring Framework са:
- PropertyEditor
- URL Editor
- ClassEditor
- CustomDateEditor
- Редактор на файлове
- LocaleEditor
- StringArrayPropertyEditor
- StringTrimmer Editor
48) Какви са предимствата на пружинната рамка?
Следват предимствата на пружинната рамка:
- Layered Archiтекстура
- Активира Plain Old Java Обектно (POJO) програмиране и позволява непрекъсната интеграция и възможност за тестване
- Инжектиране на зависимости и инверсия на контрола, което опростява JDBC
- Рамка с отворен код, която може да се използва за търговски цели
49) Как се осъществява достъп до Hibernate с помощта на Spring framework?
Hibernate може да бъде достъпен по следните два начина:
- От IOC с обратно извикване и HibernateTemplate.
- Чрез прилагане на AOP Interceptor и разширяване на HibernateDaoSupport.
50) Какви са различните канали, поддържани от Spring 2.0?
Следват каналите, поддържани от пролетната версия 2.0:
- Канал с възможност за запитване
- Канал с възможност за абониране
- Канал за публикуване на абонамент
- Канал за опашка
- Приоритетен канал
- Канал Рандеву
- Директен канал
- Канал за изпълнител
- Канал с обхват
Пролетни въпроси за MVC интервю за 5+ години опит
51) Защо декларативното управление на транзакции е предпочитано през пролетта?
Декларативното управление на транзакции има минимално въздействие върху кода на приложението и следователно е идеалистичен лек контейнер.
52) Обяснете концепцията за BeanFactory?
BeanFactory прилага идеята за фабричен модел, който използва IOC, за да отдели зависимостите и конфигурацията на приложението от действителния код.
53) Какви са различните обхвати на пролетния боб?
Обхватите на spring bean са Singleton, прототип, заявка, сесия и глобална сесия.
54) Какви са всички начини за достъп до Hibernate с помощта на Spring?
Има два начина за достъп до хибернация с помощта на spring:
- Инверсия на контрола с шаблон за хибернация и обратно извикване
- Разширяване на поддръжката на HibernateDAOS и прилагане на AOP Interceptor възел.
55) Как приложението за подпори може да бъде интегрирано с пружината?
Има две опции за приложение на подпори, които могат да бъдат интегрирани с пружина:
Конфигуриране на Spring за управление на bean-ове с помощта на плъгин ContextLoader и задаване на техните зависимости в контекстен файл на Spring
Вземете пролетно управлявани зърна изрично с помощта на agetwebapplicationcontext()
56) Какво е инверсия на контрола (IOC)?
Инверсията на контрола (IOC) се нарича също инжектиране на зависимост, което не е нищо друго освен модел на проектиране, който дава контрол на асемблера на класове. По принцип класът ще създаде друг клас, ако е необходимо.
Но в този модел на проектиране този контрол е предоставен на асемблера и асемблерът ще създаде необходимия клас, ако е необходимо.
57) Напишете ползите от използването на IOC?
Основните предимства на инжектирането на зависимости или IOC са, че намалява количеството кодиране, необходимо за приложението. Това позволява тестването на приложението да се извършва бързо и лесно, тъй като не се изисква JNDI механизъм за търсене или сингълтони. Контейнерите IOC също така поддържат лениво зареждане и нетърпеливо инсталиране на услуги.
58) Какво е Inner bean? Какъв е недостатъкът на вътрешния боб?
Ако bean елемент е директно вграден в таг на свойство, докато свързвате bean-ове, тогава bean-ът се нарича Inner Bean. Недостатъкът му е, че не може да се обработва повторно.
59)Какви са различните видове инжектиране през пролетта?
Има три вида инжектиране през пролетта:
- Инжектиране на сетер
- Инжектиране на конструктор
- Getter или метод за инжектиране
60) Какви са предимствата на пружинната рамка?
Следват предимствата на пролетната рамка:
- Лек контейнер в сравнение с контейнерите j2EE
- Вградена уеб MVC рамка
- Създава слабо свързани приложения
- Поддържа аспектно ориентирано програмиране като регистриране, транзакции и сигурност
- Конфигурацията е направена в XML формат, който е лесен за писане и разбиране
61) Какви са видовете съвети?
Има пет вида съвети:
- Преди съвет
- След връщане съвет
- След хвърляне на съвети
- Най-накрая съвет
- Около съвети
62) Какво се нарича PreparedStatementCreator?
PreparedStatementCreator е един от най-често използваните интерфейси за запис на данни в базата данни. createPreparedStatement() е метод, който може да се използва за създаване и връщане на PreparedStatement от аргумента Connection, като обработката на изключенията се поема автоматично. Когато този интерфейс е внедрен, може да се внедри и различен интерфейс SqlProvider, който има метод, наречен getSql(). Този метод е полезен за предоставяне на sql низове към JdbcTemplate. Не обработва SQLExceptions.
63) Какво е SQLProvider?
SQLProvider има само един извикан метод getSql()
и се реализира с помощта на PreparedStatementCreator внедрители. Използва се главно за отстраняване на грешки.
64) Пишете за BatchPreparedStatementSetter?
BatchPreparedStatementSetter се използва за актуализиране на повече от един ред наведнъж, те могат да използват BatchPreparedStatementSetter. Този интерфейс предоставя два метода
- setValues(PreparedStatement ps, int i) хвърля SOL изключение
- int getBatchSize
65) Кой е по-добрият метод за използване на JDBC през пролетта?
Ако JDBC се използва с шаблонния клас, наречен JdbcTemplate, той осигурява по-добра производителност.
66) Какви изключения хвърлят DAO класовете в Spring?
В пролетните DAO класове хвърлят само SQLException.
67) Обяснете предимствата на използването на DAO модул?
Кодът на базата данни може да се поддържа чист и прост с помощта на DAO модула. Това помага за предотвратяване на проблеми, възникващи поради лошо обработване на затваряния на ресурсите на базата данни. Освен това DAO модулът използва AOP модула, за да позволи на обектите в приложението Spring да използват услуги за управление на транзакции.
68) Посочете значимите реализации на ApplicationContext, използвани в пролетната рамка?
Те са:
- ClassPathXmlApplicationContext
- FileSystemXmlApplicationContext
- XmlWebApplicationContext
69) Как се добавя bean към Spring приложение?
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"> <beans> <bean id="foo"/> <bean id="bar"/> </beans>
Етикетът на bean има атрибут ID, който съхранява името на bean и атрибути на клас, които указват пълното име на класа.
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 е много важен. Той зарежда зърната на базата на дефинициите, съхранени в XML файл. За създаването на XmlBeanFactory, java.io.InputStream се предава на конструктора. InputStream предоставя XML на фабриката. Например, за извличане на bean, методът getBean() се извиква чрез предаване на името на желания bean.
MyBean helloBean = (MyBean) factory.getBean("helloBean");
75) Назовете класа Exception, който е свързан с изключенията, хвърлени от приложенията?
Това е DataAccessException, дадено от org.springframework.dao.DataAccessException
76) Споменете видовете lOC (инжектиране на зависимост)?
Различните видове loC са: –
- Инжектиране на сетер: С помощта на JavaСвойства на боба.
- Инжектиране на конструктор: Зависимостите са дадени под формата на параметри на конструктора.
- Инжектиране на интерфейс: С помощта на интерфейс се извършва инжекция.
От тези три през пролетта се използват само конструкция и сетер.
77) Кои са важните методи за жизнения цикъл на зърната?
Като цяло съществуват два метода на жизнения цикъл на зърна. Първият метод е методът за настройка, който се извиква по време на зареждането на зърна в контейнера. Вторият е, когато зърното се разтоварва от контейнера и този метод се нарича разглобяване.
78) Как могат методите на жизнения цикъл по подразбиране на бобовете да бъдат анулирани?
Тагът, bean, има два полезни атрибута, които могат да се използват за дефиниране на специални методи за инициализация и унищожаване.
Например, два нови метода forSetup и forTeardown могат да бъдат добавени към класа Foo по следния начин:
<beans> <bean id="bar" init-method="forSetup" destroy="forTeardown"/> </beans>
79) Какво е a Target?
Целта е класът, който се препоръчва. Този клас може да бъде или клас, към който искаме да добавим специално поведение, или клас на трета страна. Целевият клас е свободен да се съсредоточи върху основната си грижа, използвайки концепциите на AOP, независимо от съветите, които се прилагат.
80) Обяснете термина прокси?
Терминът прокси се отнася до обект, който се произвежда чрез прилагане на съвет към целевия обект.
81) Каква е междусекторната загриженост и загриженост в пролетния AOP?
- Междусекторна загриженост: Това е проблем, който е приложим в цялото приложение и засяга цялото приложение. Например сигурността, регистрирането и прехвърлянето на данни са проблемите, които са необходими в почти всеки модул на приложение.
- Загриженост: Загрижеността е поведение, което искаме да имаме в модул на приложение. Проблемите, от които се интересуваме, определят нашата загриженост.
Тези въпроси за интервюто също ще ви помогнат във вашата viva (устна)