25 top spring mvc interview questions
Най-популярните пролетни въпроси за интервю за MVC с отговори за входно ниво и опитни кандидати:
Spring е мощна рамка, която се използва по целия свят от разработчиците на Java за разработване на Java Enterprise Web приложение.
Пролетни MVC стойки за изглед на модел и контролер. Подобно на други рамкови Struts, Spring също се основава на J2EE технологии, които са JSP и Servlet, заедно с внедряването на модел на модел на проектиране, изглед и контролер.
Тук ще разгледаме най-често задаваните въпроси за интервю за пролетния MVC с примери.
Какво ще научите:
програма за бързо сортиране в c ++
Пролетна архитектура на MVC
Архитектурата на MVC има много вградени класове и компоненти, които винаги са на разположение на разработчиците, за да разработят силно и свободно свързано приложение.
Слабо свързаните означава, че не трябва да има твърдо кодирани зависимости между класовете. Това от своя страна прави задачата доста сложна, когато става въпрос за промяна на кода или функционалността на приложението.
MVC архитектурата има свои независими функции. Моделният слой включва всички класове POJO и помага при капсулирането на данни. Изгледният слой се използва за изобразяване на данните, присъстващи в слоя на модела, и той продължава да генерира изходни данни в HTML формат за клиента, който го получава обикновено в уеб браузър.
И накрая, контролерът е отговорен за обработката на заявките и изграждането на правилния модел и по този начин изпраща отговора към слоя изглед или презентация.
В тази статия ще разгледате всички важни теми на Spring MVC, както е споменато по-долу:
- Принципът на работа на Spring MVC
- Пролетна архитектура
- Концепцията за диспечерски сървлет
- Картографиране на манипулатора
- Контролер
- Преглед на решението
- Различни слоеве Spring MVC
- Ядро на пружината, предимства от използването на Spring MVC
- Пружинни модули
- AOP
- Език на изразяване
- Слой за достъп до данни
- Уеб модул
- Аспекти
- Тест и т.н.
- Инверсия на контрол и инжектиране на зависимост, за файлове pom.xml.
Нека да разгледаме плюсовете и минусите на Spring MVC !!
Плюсове на пролетта MVC
По-долу са изброени различните плюсове на Spring MVC:
- Тъй като е много малък, той осигурява висока производителност с по-малко проблеми.
- Той има висока производителност, което от своя страна увеличава развитието.
- Той е силно защитен, тъй като използва Spring SPI и се използва най-вече от всички банки за своите уеб приложения.
- Можем да разработим модулни приложения, тъй като поддържа Model View и архитектура на контролера.
- Той поддържа цялостно разработено с тест, което е твърде добро.
- Досега той е най-подходящ за разработчици на гъвкави уеб приложения за разработване по целия свят.
- Той има функция за разделяне на отговорностите и ролите, която опростява задачите.
- Той осигурява поддръжка за RESTful услуга.
- Той поддържа теми, интернационализация, други рамки за бази данни, JPA, множество изгледи и подкрепа на общността.
Недостатъци на пролетта MVC
Дайте по-долу някои от минусите на Spring MVC:
- Кривата на обучение на Spring структурата и нейната MVC архитектура е малко сложна за разработчиците, тъй като има малко сложни концепции.
- Пролетта има променящ се характер като базирани на XML или базирани на анотации и това от своя страна става трудно за проследяване на моменти.
- Много по-малко спецификации в Spring MVC.
- Ако файлът на jar не е наличен, тогава приложението няма да работи правилно.
- Много големи проблеми с конфигурацията, много контролери, които трябва да се обработват, много преобразуватели на изгледи за контрол и т.н.
Топ пролетни въпроси за интервю за MVC
По-долу са изброени най-важните въпроси за интервю за Spring MVC. Опитайте се да разберете концепцията за всеки въпрос, така че да бъде много полезно при обяснението на интервюиращия. Винаги се опитвайте да давате или корелирате с примери за приложения в реално време. Те са полезни и за опитни професионалисти.
В # 1) Какво представлява Spring Framework и защо е толкова популярен?
Отговор: Spring Framework е лека рамка, която се използва за разработване на свободно свързани Java уеб приложения.
Той осигурява вграден контейнер, инжектиране на зависимости и MVC архитектура. Той е много популярен, тъй като позволява отделяне, повторна употреба и осигурява дизайнерски модели като единичен, фабричен за намаляване на дължината на кода и т.н., а също така премахва слабите връзки и има мощна интеграция с третата страна.
В # 2) Какво е Spring MVC?
Отговор: Spring MVC следва концепцията за модел, изглед и контролер.
Това е екземпляр на контролер, който се споделя самостоятелно и също така помага да се обработват няколко заявки, които се изпълняват в инверсия на контейнери за контрол като прехващачи и контролери. Моделът Spring MVC помага да се разделят аспектите на приложението, което включва логика за въвеждане, бизнес и презентация.
В # 3) Кои са основните характеристики на Spring Framework?
Отговор:
Основните характеристики на Spring MVC са:
- Той е в състояние ефективно да конфигурира рамката и класовете като боб. Той също така разделя функционалните роли и отговорности поотделно.
- Тя позволява дефиницията на неограничен метод на контролер, което прави приложението силно регулируемо и гъвкаво.
- Той осигурява добра персонализация за картографиране на манипулатора, подвързване, разделителна способност на изгледа и проверки.
- Помага за прехвърляне на модела с помощта на карта. Той също така осигурява поддръжка за скорост, JSTL, JSP, а потребителят може да персонализира локал и резолюция на темата.
- Spring има собствена библиотека с тагове, което го прави по-гъвкав и поддържа свързване на данни, теми, зърна, имащи жизнен цикъл до HTTP заявка.
В # 4) Обяснете концепцията за диспечерския сървлет.
Отговор: Диспечерският сървлет е основният централен сървлет, който обработва всички входящи HTTP заявки и отговори. Той има интеграция с Spring IOC и по този начин позволява да се използват всички функции на Spring.
След като диспечерският сървлет получи заявка, той го препраща към картографиране на манипулатора за получаване на подходящ контролер и сега контролерът ще извика правилния сервизен метод и отново ще го изпрати обратно към диспечерския сървлет.
Отново, сървлетът изпраща заявката до преобразувателя на изглед за получаване на необходимия изглед и след това изпраща отговора на клиентския браузър.
Пример на код за показване на използването на сървлета на диспечера:
Software Testing Help Web Application SoftwareTestingHelp org.Springframework.web.servlet.DispatcherServlet 1 SoftwareTestingHelp /
В # 5) Каква е ползата от ContextLoaderListner в Spring MVC?
Отговор: Използва се за четене и анализиране на конфигурационния файл Spring и обработка на зареждането на зърна в този конфигурационен файл.
Пример за код:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/applicationContext.xml 1
В # 6) Обяснете класа на предния контролер на Spring MVC.
Отговор: Front Controller е отговорен за обработката на цялата входяща заявка на приложение. В Spring MVC диспечерският сървлет действа като преден контролер и обработва всички входящи заявки.
В # 7) Обяснете функцията на @Autowired Annotation.
Отговор: Анотацията @Autowired е отговорна за инжектирането на боб по неговия тип, заедно с полетата и методите. По този начин помага на Spring структурата при разрешаването и инжектирането на боб, който си сътрудничи, в нашия боб.
Пример:
package com.SoftwareTestingHelp; import org.Springframework.beans.factory.annotation.Autowired; public class WordEditor { private SpellChecker sp; @Autowired public void setSp( SpellChecker sp ){ this.sp = sp; } public SpellChecker getSp( ) { return sp; } public void spellCheck() { sp.checkSpelling(); } }
В # 8) Каква е функцията на анотацията на атрибута на модела?
Отговор: Анотацията @ModelAttribute играе жизненоважна роля в Spring MVC framework. Той отговаря за параметъра на метода на свързване със съответния атрибут на модел и след това го показва на страницата на презентацията.
Това също зависи от това, което разработчикът използва в анотацията на атрибута на модела . Ако се използва на ниво метод, това означава, че методът е отговорен за добавяне на атрибути. Когато се използва като параметър, това означава, че стойността на параметъра трябва да бъде извлечена от слоя на модела.
В # 9) Обяснете концепцията и функцията на променливата на пътя.
Отговор: @PathVariable е анотация, която се използва като параметър в метода на манипулатора за извличане на стойността на URI шаблона.
Пример:
@RequestMapping('/Login/{Lid}') public String handleRequest(@PathVariable('Lid') String Login, Model map) { }
В # 10) Каква е функцията на анотирането @RequestBody?
Отговор: Анотацията @RequestBody е отговорна за обвързването на заявката на HTTP тялото с обект на домейн. Входящата HTTP заявка автоматично се десериализира към обекта Java от Spring с помощта на преобразувателите на HTTP съобщения.
В # 11) Каква е функцията на анотацията @ResponseBody?
Отговор: Когато анотацията @ResponseBody се използва в MVC контролера, това показва, че разработчикът трябва да напише тип връщане на деклариран метод директно в тялото на HTTP отговор. Тук не се изисква извикване на модела и името на изгледа не се интерпретира от Spring.
Въпрос # 12) Защо се нуждаем от View Resolver в Spring MVC и какво е вътрешен преобразувател на изглед през Spring?
Отговор: View Resolver е отговорен за изобразяването на модели в уеб браузъра. Той не изисква никакви специфични технологии за преглед като JSP, XML и Velocity и т.н.
“InternalResourceViewResolver” е вътрешният преобразувател на изглед в Spring MVC.
Има някои важни решения на изгледа в Spring MVC, както е споменато по-долу:
AbstractCachingViewResolver, XmlViewResolver, ResourceBundleViewResolver, UrlBasedViewResolver, InternalResourceViewResolver, FreeMarkerViewResolver, ContentNegotiatingViewResolver и др.
Въпрос # 13) Обяснете принципа на работа на Spring MVC Framework.
Отговор:
Диаграмата по-долу ще помогне за разбирането на потока:
Както знаем, той се основава на концепцията за модел, изглед и контролер. Dispatcher Servlet получава HTTP заявката в зависимост от картографирането на сървлета, направено в web.xml.
След като заявката бъде получена от сървъра на диспечера, тя изпраща същата заявка до картографирането на манипулатора, за да получи необходимия клас контролер. Съпоставянето на манипулатора се споменава в конфигурационния файл на Spring.
Отново заявката се изпраща до контролера и контролерът обработва заявката и метода и изпраща обратно необходимия обект на изглед на модел на диспечерския сървлет.
Сега заявката се изпраща до преобразувателя на изглед от сървлет, за да се получи презентацията на страницата на изгледа.
И накрая, диспечерският сървлет предава модела на страницата за презентация и той се визуализира в клиентски браузър.
Въпрос # 14) Каква е целта на използването на BindingResults?
Отговор: BindingResults е един от интерфейсите през Spring, който се намира под пакета орг. Springframework .валидиране и се използва за представяне на резултатите от свързването.
Играе полезна роля при откриване на грешки от изпратените формуляри. Той има прост и лесен процес на извикване. Разработчикът трябва да има предвид да постави резултата от свързването като параметър веднага след валидирането на обекта.
Синтаксис:
@PostMapping('/client') public String submitpage(@Valid NewUserPage newUserPage, BindingResult result, Model model) { if (result.hasErrors()) { return 'uHome'; } model.addAttribute('message', 'Valid Page'); return 'uHome'; }
Тук Spring рамката ще разбере, като прочете анотацията @Valid и ще се опита да намери нейния валидатор.
Въпрос # 15) Обяснете архитектурата на Модел 1 и Модел 2 на Spring Framework.
Отговор: Това са двата важни дизайнерски модела за разработване на уеб приложения.
Модел 1:
Тук входящата заявка се обработва от сървлета или JSP. Страницата на сървлета или JSP е отговорна за обработката, обработката на заявката, контрола на бизнес логиката, проверката на данните и накрая за генерирането на отговора.
пример за двойно свързан списък c ++
Той е прост и има лесна архитектура и е предпочитан най-вече от дребните индустрии за разработване на прости приложения.
Модел 2:
Това е важен дизайнерски модел и се основава на концепцията Model View Controller. Той е в състояние да отдели презентацията и логическия раздел, които манипулират кода.
Този модел е здрав, надежден и избягва дублирането. Добре е за изграждане на големи и сложни приложения.
Въпрос # 16) Обяснете функцията на Spring MVC прехващача заедно с неговото използване.
Отговор: Прихващачите играят полезна роля в Spring MVC. Те се използват за прихващане на заявката от клиента, обработване на заявката по различно време, например преди обработка на заявката, след обработка на заявката и след завършване на частта за презентация, т.е.
Той се използва и от междусекторни проблеми и намалява повторението на манипулатора на кода като модификация на глобални параметри в модела по-късно, регистриране и т.н.
Въпрос # 17) Позволено ли е да се използват множество Spring конфигурационни файлове в Spring MVC?
Отговор: Да, Spring позволява да има множество конфигурационни файлове в едно приложение.
Има главно два начина да се постигне това и тези начини са посочени по-долу:
(i) Разработчикът трябва да декларира всички файлове в web.xml, като използва параметъра:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation WEB-INF/Spring-dao-hibernate.xml, 1 Spring /
(ii) Разработчикът може да импортира файлове в съществуващата конфигурация.
В # 18) Обяснете функциите на следните пояснения: @Component, @Controller, @Repository, @Service.
Отговор: Това са важните пояснения в Spring MVC. Нека ги разгледаме.
@Съставна част: Тази анотация е отговорна за преобразуването на клас Java в боб, така че да може да бъде разпознат от Spring и използван в контекста на приложението.
Синтаксис:
@Component public class StudentDAOImpl implements StudentDAO { ... }
@ Хранилище: Тази анотация има същата употреба като тази на @Component, но освен това разглежда и непроверените изключения, които могат да се използват през пролетта.
@Обслужване: Тази анотация също преобразува Java клас в боб, но е по-добре да използвате @service анотация, отколкото @component, тъй като предоставя по-добри спецификации в приложение в реално време.
@Controller: Ако искаме да направим някакъв клас като контролер, тогава трябва да посочим тази анотация.
В # 19) Каква е ролята на Multipart резолвера и кога се използва?
Отговор: Multipart Resolver е отговорен за качването на файла в уеб приложение. Две реализации за него са commonsMultipartResolver и StandardServletMultipartResolver.
В # 20) Как Spring MVC осигурява поддръжка за валидиране?
Отговор: Spring осигурява поддръжка за валидиране по два начина - т.е. главно чрез използване на анотация JSR 303 и интерфейс Validator.
Въпрос # 21) Как се постига локализация в пролетните MVC уеб приложения?
Отговор: Spring MVC е конфигуриран с LocaleResolver за поддържане както на интернационализация, така и на локализация. За да стане възможно това, някои зърна трябва да бъдат регистрирани, както е споменато по-долу.
SessionLocaleResolver - Отнема помощта на вече дефинираните атрибути в потребителската сесия за разрешаване на локали.
Синтаксис:
LocaleChangeInterceptor - Полезно е, когато във входящата заявка присъства параметър.
Синтаксис:
Въпрос # 22) Обяснете концепцията за контекста на коренното приложение в Spring MVC заедно с неговия процес на зареждане.
Отговор: ContextLoaderListner е известен като основния контекст на приложението в Spring MVC и се използва от цялото приложение.
Това е слушател, който помага на Spring MVC да стартира. Използва се за зареждане и създаване на applicationContext, за да се избегне писането на изричен код. Spring bean е дефиниран в контекста на приложението.
Като цяло, dispecherServlet се използва за задаване на сървлети в Spring MVC.
В # 23) Каква е ролята на web.xml в Spring MVC и къде се намира?
Отговор: В web.xml конфигурираме ContextLoaderListner. Когато разгръщаме приложението, екземпляр се създава от контейнера Servlet за ContextLoaderListner и след това води до зареждане на webApplicationContext.
В # 24) Опишете някои видове връщане на метода на контролера.
Отговор: Някои от важните типове връщане на методите на контролера включват String, void, view, ModelAndView, Model, Map, HttpHeaders и др.
В # 25) На какво основание е избран изглед във фазата на рендиране?
Отговор: ViewResolver в MVC архитектура е отговорен за избора на необходимия изглед.
Когато контролерът изпраща отговора до сървлета на диспечера, той изпраща заявката до преобразувателя на изглед за получаване на правилната страница за преглед, която може да бъде изпратена до клиентски уеб браузър за представяне.
В # 26) Каква е основната разлика между @Requestparam и @PathVariable анотация?
Отговор: Тези пояснения се използват за извличане на информация и данни от URL адрес.
Но основната разлика между тях е, че @Requestparam се използва само за извличане на параметрите на заявката, а @PathVariable се използва за извличане на пълния URL адрес.
Въпрос # 27) Обяснете концепцията за аспектно ориентирано програмиране?
Отговор: AOP е важна част от Spring MVC Architecture. AOP се използва за пресичане на загриженост, а също и за приложения, валидиране на данни, регистриране на модули, управление на транзакции, удостоверяване и обекти.
Има много части на Аспектно Ориентирано Програмиране. Те са споменати по-долу:
- Аспект: Aspect е отговорен за междусекторни проблеми като управление на транзакции и т.н.
- Съвет: Това е основно действие и метод, които се изпълняват и също се използват за определена точка на присъединяване.
- Pointcut: Той отговаря за изпълнението на съвети по отношение на регулярни изрази.
- Съвместна точка: Това е точка в приложението за процеси като обработка на изключения, изпълнение на метода, промяна на стойностите на променливите и т.н.
- Съвети Аргументи : Тези аргументи се използват за предаване на методи.
Заключение
Надявам се, че бихте получили пълен преглед на архитектурата Spring MVC от тази статия.
Тук сме обхванали пълния поток от край до край на Spring MVC поток, Защо се нуждаем от Spring MVC? Кои са различните модули в MVC архитектурата? Характеристики на Spring MVC и диспечерски сървлет, концепцията за предния контролер, слушатели и неговата функция, различни видове анотации като @Autowired, @Controller, @RequestBody и др.
Също така научихме повече за концепцията View Resolver, AOP процеса и различните видове контролер, заедно с неговите приложения. Локализация и прехващачи, различна архитектура на Spring framework и концепцията за свързващия резултат заедно с неговите приложения.
Разбрахме какво е Spring контейнер и използването му в Spring MVC? Използване на файлове с конфигурации в Spring MVC, Променливи отговорности и важност на пътя. и т.н. В тази статия са обяснени почти всички важни и най-очаквани пролетни въпроси за интервю за MVC.
Винаги обаче е препоръчително да обяснявате с примери за код в приложението в реално време, за да задоволите очакванията на интервюиращия. Всички кодове, необходими за всяка концепция, са разгледани тук за вашето лесно разбиране.
Желаем ви всичко най-добро!
Препоръчително четене
- Интервюирайте въпроси и отговори
- 25 най-добри пъргави тестови интервюта Въпроси и отговори
- 25+ Най-популярни въпроси и отговори за интервю за ADO.NET
- Някои сложни ръчни тестови въпроси и отговори
- Въпроси и отговори за интервю за ETL тестване
- Въпроси и отговори за тестване на софтуер (част 1)
- 40+ Популярни тестови QA анализатори Интервю Въпроси и отговори (2021 СПИСЪК)
- Топ 25 функционални тестови интервюта Въпроси и отговори