25 top spring mvc interview questions
Најпопуларнија пролећна питања за интервју са МВЦ са одговорима за почетнике и искусне кандидате:
Пролеће је моћан оквир који Јава програмери користе широм света за развој Јава Ентерприсе Веб апликације.
Пролећни МВЦ постоља за приказ модела и контролер. Баш као и други Фраме Струтс, Спринг се такође заснива на Ј2ЕЕ технологијама које су ЈСП и Сервлет, заједно са имплементацијом дизајнерског узорка Модел, Виев и Цонтроллер.
Овде ћемо истражити најчешће постављана питања за пролећни МВЦ интервју са примерима.
Шта ћете научити:
питања и одговори за интервју за техничку подршку
Спринг МВЦ Арцхитецтуре
МВЦ архитектура има много уграђених класа и компонената које су програмерима увек на располагању за развијање јаке и лабаво повезане апликације.
Лабаво спрегнути значи да између класа не би требало постојати чврсто кодиране зависности. То заузврат чини задатак прилично сложеним када је реч о промени кода или функционалности апликације.
МВЦ архитектура има своје независне функције. Слој модела укључује све ПОЈО класе и помаже у инкапсулацији података. Слој приказа користи се за приказивање података присутних у слоју модела и он непрекидно генерише излаз у ХТМЛ формату за клијента који га обично прима у веб прегледачу.
Коначно, контролер је одговоран за обраду захтева и изградњу исправног модела и он на тај начин шаље одговор на слој приказа или презентације.
У овом чланку ћете проћи кроз све важне теме пролећног МВЦ-а како је поменуто у наставку:
- Принцип рада Спринг МВЦ-а
- Пролећна архитектура
- Концепт диспечерског сервлета
- Мапирање руковаоца
- Контролер
- Прикажи решење
- Различити слојеви Спринг МВЦ
- Језгро опруге, предности употребе Спринг МВЦ
- Пролећни модули
- АОП
- Језик израза
- Слој за приступ подацима
- Веб модул
- Аспекти
- Тест итд
- Инверзија контроле и убризгавање зависности, о датотекама пом.кмл.
Погледајмо предности и недостатке пролећног МВЦ-а !!
Прос Спринг Спринг МВЦ
У наставку су наведени разни професионалци Спринг МВЦ-а:
- Како је врло мали, доноси високе перформансе са мање проблема.
- Има високу продуктивност што заузврат повећава развој.
- Изузетно је сигуран јер користи Спринг СПИ и углавном га користе све банке за своје веб апликације.
- Можемо развијати модуларне апликације, јер подржава модел Виев и архитектуру контролера.
- Подржава комплетан тест покретани развој, што је превише добро.
- До сада су програмери најприкладнији за агилне развојне веб апликације широм света.
- Има функцију раздвајања одговорности и улога која поједностављује задатке.
- Пружа подршку за услугу РЕСТфул.
- Подржава теме, интернационализацију, друге оквире база података, ЈПА, више погледа и подршку заједнице.
Цонс оф Спринг МВЦ
У наставку наведите неке од пролећних пролећних МВЦ:
- Крива учења Спринг Спринг-а и његове МВЦ архитектуре је мало сложена за програмере јер има мало сложених концепата.
- Пролеће је променило природу попут оних заснованих на КСМЛ-у или анотацијама, што понекад постаје тешко пратити.
- Врло мање спецификација за Спринг МВЦ.
- Ако јар датотека није доступна, апликација се неће правилно покренути.
- Веома велики проблеми са конфигурацијом, многи контролери којима треба руковати, многи разрешивачи приказа за контролу итд.
Најпопуларнија пролећна питања за МВЦ интервју
У наставку су наведена најважнија питања из интервјуа за Спринг МВЦ. Покушајте да схватите концепт сваког питања, тако да ће бити од велике помоћи у објашњавању анкетара. Увек покушајте да дате примере апликација у реалном времену или да их повежете са њима. Они су корисни и за искусне професионалце.
П # 1) Шта је Спринг Фрамеворк и зашто је тако популаран?
Одговор: Спринг Фрамеворк је лаган оквир који се користи за развој слабо повезаних Јава веб апликација.
Пружа уграђени контејнер, убризгавање зависности и МВЦ архитектуру. Веома је популаран јер омогућава раздвајање, поновну употребу и пружа обрасце дизајна као што су синглетон, фабрички за смањивање дужине кода итд. Такође уклања слабе везе и има моћну интеграцију са трећом страном.
П # 2) Шта је Спринг МВЦ?
Одговор: Спринг МВЦ прати концепт Модел, Виев и Цонтроллер.
То је инстанца контролера који се дели сам, а такође помаже у обради неколико захтева који се извршавају у Инверзији контролних контејнера попут пресретача и контролера. Спринг МВЦ образац помаже у раздвајању аспеката апликације који укључују логику уноса, пословања и презентације.
П # 3) Које су кључне карактеристике Пролећног оквира?
Одговор:
Основне карактеристике Спринг МВЦ су:
- Способан је да ефикасно конфигурише оквир и класе као пасуљ. Такође раздваја функционалне улоге и одговорности.
- Омогућава дефиницију неограничене методе контролера што апликацију чини веома прилагодљивом и флексибилном.
- Пружа добру прилагодбу за мапирање руковаоца, везивање, резолуцију погледа и валидације.
- Помаже у преношењу модела помоћу мапе. Такође пружа подршку за брзину, ЈСТЛ, ЈСП, а корисник може прилагодити локализацију и резолуцију теме.
- Спринг има сопствену библиотеку ознака која га чини флексибилнијим и подржава везивање података, теме, грах који имају животни циклус до ХТТП захтева.
П # 4) Објасните концепт диспечерског сервлета.
Одговор: Диспелцхер Сервлет је главни централни сервлет који обрађује све долазне ХТТП захтеве и одговоре. Има интеграцију са Спринг ИОЦ, и самим тим омогућава коришћење свих карактеристика Спринга.
Једном када диспечерски сервлет прими захтев, он га прослеђује мапирању руковаоца за добијање одговарајућег контролера, а сада ће контролер позвати исправан сервисни метод и поново ће га послати натраг сервлету диспечера.
Опет, сервлет шаље захтев разрешивачу погледа за добијање потребног приказа, а затим шаље одговор клијентском прегледачу.
Пример кода за приказ употребе сервлета диспечера:
Software Testing Help Web Application SoftwareTestingHelp org.Springframework.web.servlet.DispatcherServlet 1 SoftwareTestingHelp /
П # 5) Каква је употреба ЦонтектЛоадерЛистнер у Спринг МВЦ?
Одговор: Користи се за читање и рашчлањивање конфигурационе датотеке Спринг и обраду учитавања пасуља у тој конфигурационој датотеци.
Пример кода:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/applicationContext.xml 1
П # 6) Објасните класу предњег контролера Спринг МВЦ.
Одговор: Фронт Цонтроллер је одговоран за обраду целокупног долазног захтева апликације. У пролећном МВЦ-у, диспечерски сервлет делује као предњи контролер и обрађује целокупне долазне захтеве.
П # 7) Објасните функцију @Аутовиред Аннотатион.
Одговор: Напомена @Аутовиред одговорна је за убризгавање зрна по свом типу заједно са пољима и методама. На тај начин помажући Спринг Спринг-у у решавању и убризгавању пасуља који сарађује у наш пасуљ.
Пример:
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) Која је функција ознаке атрибута модела?
Одговор: Анотација @МоделАттрибуте игра виталну улогу у Спринг МВЦ оквиру. Одговорна је за параметар методе везивања са одговарајућим атрибутом модела, а затим га приказује на презентацијској страници.
Такође зависи од тога шта програмер користи у напомени атрибута модела . Ако се користи на нивоу методе, то значи да је метода одговорна за додавање атрибута. Када се користи као параметар, то значи да вредност параметра треба дохватити из слоја модела.
П # 9) Објасните концепт и функцију променљиве путање.
Одговор: @ПатхВариабле је напомена која се користи као параметар у методи руковаоца за издвајање вредности предлога УРИ.
Пример:
@RequestMapping('/Login/{Lid}') public String handleRequest(@PathVariable('Lid') String Login, Model map) { }
П # 10) Која је функција напомене @РекуестБоди?
Одговор: Напомена @РекуестБоди одговорна је за везивање захтева ХТТП тела за објекат домена. Долазни ХТТП захтев се Спринг десериализује на Јава објекат уз помоћ претварача ХТТП порука.
П # 11) Која је функција напомене @РеспонсеБоди?
Одговор: Када се напомена @РеспонсеБоди користи у МВЦ контролеру, то указује да програмер треба да напише повратну врсту декларисане методе директно у тело ХТТП одговора. Овде позивање на модел није потребно, а назив приказа Спринг интерпретира.
П # 12) Зашто нам је потребан Виев Ресолвер у Спринг МВЦ и шта је интерни ресавач погледа у Спринг?
Одговор: Виев Ресолвер је одговоран за приказивање модела у веб прегледачу. Не захтевају никакве посебне технологије приказа као што су ЈСП, КСМЛ и Велоцити итд.
„ИнтерналРесоурцеВиевРесолвер“ је интерни решавач погледа у Спринг МВЦ-у.
Постоје неки важни разрешивачи погледа у Спринг МВЦ-у, као што је поменуто у наставку:
АбстрацтЦацхингВиевРесолвер, КсмлВиевРесолвер, РесоурцеБундлеВиевРесолвер, УрлБаседВиевРесолвер, ИнтерналРесоурцеВиевРесолвер, ФрееМаркерВиевРесолвер, ЦонтентНеготиатингВиевРесолвер итд.
П # 13) Објасните принцип рада Спринг МВЦ оквира.
Одговор:
Дијаграм испод помоћи ће у разумевању тока:
Као што знамо, заснован је на концепту Модел, Виев и Цонтроллер. Диспатцхер Сервлет прима ХТТП захтев у зависности од мапирања сервлета обављеног у веб.кмл.
Једном када захтев прими Диспатцх сервлет, он шаље исти захтев мапирању руковаоца да би добио потребну класу контролера. Мапирање руковаоца се помиње у прољетној конфигурацијској датотеци.
Захтев се поново шаље контролору, а контролер обрађује захтев и методу и шаље тражени објекат приказа модела сервлету диспечера.
Сада сервлет шаље захтев решавачу приказа да добије презентацију странице приказа.
На крају, Диспатцхер Сервлет преноси модел на презентациону страницу и исти се приказује клијентском прегледачу.
П # 14) Која је сврха коришћења БиндингРесултс?
Одговор: БиндингРесултс је један од интерфејса у Спрингу који долази под пакетом орг. Спрингфрамеворк .валидација и користи се за представљање резултата везивања.
Игра корисну улогу у откривању грешака у достављеним обрасцима. Има једноставан и лак поступак позивања. Програмер мора имати на уму да резултат везивања стави као параметар одмах након валидације објекта.
Синтакса:
@PostMapping('/client') public String submitpage(@Valid NewUserPage newUserPage, BindingResult result, Model model) { if (result.hasErrors()) { return 'uHome'; } model.addAttribute('message', 'Valid Page'); return 'uHome'; }
Овде ће Спринг Спринг разумети читајући напомену @Валид и покушаће да пронађе њен валидатор.
П # 15) Објасните архитектуру модела 1 и модела 2 Спринг Фрамеворк-а.
Одговор: То су два важна дизајнерска модела за развој веб апликација.
Модел 1:
Овде долазни захтев обрађује сервлет или ЈСП. Сервлет или ЈСП страница одговорни су за руковање, обраду захтева, контролу пословне логике, проверу ваљаности података и на крају за генерисање одговора.
Једноставан је и има лаку архитектуру, а мала индустрија га највише воли развијати једноставне апликације.
Модел 2:
То је важан модел дизајна и заснован је на концепту Модел Виев Цонтроллер. Способан је да раздвоји презентацију и логички одељак који манипулишу кодом.
Овај модел је робустан, поуздан и избегава дволичност. Добар је за изградњу великих и сложених апликација.
П # 16) Објасните функцију пролећног МВЦ пресретача заједно са његовом употребом.
Одговор: Пресретачи играју корисну улогу у Спринг МВЦ-у. Користе се за пресретање захтева од клијента, обраду захтева у различито време, као пре обраде захтева, након обраде захтева и након завршетка презентационог дела, тј. Прегледа странице итд.
Такође се користи од унакрсних брига и смањује понављање руковаоца кодом попут касније модификације глобалних параметара у моделу, евидентирања итд.
П # 17) Да ли је дозвољено користити више Спринг конфигурационих датотека у Спринг МВЦ?
Одговор: Да, Спринг омогућава да имате више датотека за конфигурацију у једној апликацији.
Постоје углавном два начина да се то постигне и ти начини су наведени у наставку:
(и) Програмер мора да декларише све датотеке у веб.кмл користећи параметар:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation WEB-INF/Spring-dao-hibernate.xml, 1 Spring /
(ии) Програмер може да увезе датотеке у постојећу конфигурацију.
П # 18) Објасните функције следећих напомена: @Цомпонент, @Цонтроллер, @Репоситори, @Сервице.
Одговор: Ово су важне напомене у Спринг МВЦ-у. Хајде да их погледамо.
@Саставни део: Ова напомена је одговорна за претварање јава класе у беан тако да је Спринг може препознати и користити у контексту апликације.
Синтакса:
@Component public class StudentDAOImpl implements StudentDAO { ... }
@Репоситори: Ова напомена се користи на исти начин као и @Цомпонент, али поред тога узима у обзир и непроверене изузетке који се могу користити у пролеће.
@Сервице: Ова напомена такође претвара јава класу у пасуљ, али боље је користити напомену @сервице него @цомпонент, јер пружа боље спецификације у апликацији у реалном времену.
@Цонтроллер: Ако желимо да направимо било коју класу као контролер, онда треба да наведемо ову напомену.
П # 19) Која је улога Мултипарт резолуције и када се користи?
Одговор: Мултипарт Ресолвер одговоран је за отпремање датотеке у веб апликацију. Две имплементације за њега су цоммонсМултипартРесолвер и СтандардСервлетМултипартРесолвер.
П # 20) Како Спринг МВЦ пружа подршку за валидацију?
Одговор: Спринг пружа подршку за валидацију на два начина - тј. Углавном помоћу примене ЈСР 303 и интерфејса Валидатор.
П # 21) Како се постиже локализација у Спринг МВЦ веб апликацијама?
Одговор: Спринг МВЦ је конфигурисан са ЛоцалеРесолвер за подршку и интернационализацији и локализацији. Да би то било могуће, потребно је регистровати неки пасуљ како је доле споменуто.
СессионЛоцалеРесолвер - За решавање локализација потребна је помоћ већ дефинисаних атрибута у корисничкој сесији.
Синтакса:
ЛоцалеЦхангеИнтерцептор - Корисно је када у долазном захтеву постоји параметар.
Синтакса:
П # 22) Објасните концепт контекста роот апликације у Спринг МВЦ-у заједно са његовим процесом учитавања.
Одговор: ЦонтектЛоадерЛистнер познат је као основни контекст апликације у Спринг МВЦ-у и користи га комплетна апликација.
То је преслушач који помаже Спринг МВЦ-у да се покрене. Користи се за учитавање и креирање апплицатионЦонтект-а, како би се избегло писање експлицитног кода. Пролећни пасуљ је дефинисан у контексту апликације.
Генерално, депецхерСервлет се користи за специфицирање сервлета у Спринг МВЦ-у.
П # 23) Која је улога веб.кмл у Спринг МВЦ-у и где се налази?
Одговор: У веб.кмл конфигуришемо ЦонтектЛоадерЛистнер. Када примењујемо апликацију, инсталацију креира контејнер Сервлет за ЦонтектЛоадерЛистнер, а затим доводи до учитавања вебАпплицатионЦонтект.
П # 24) Опишите неке врсте повратних метода контролера.
Одговор: Неки од важних типова повратка метода контролера укључују Стринг, воид, виев, МоделАндВиев, Модел, Мап, ХттпХеадерс итд.
П # 25) На основу чега се бира поглед у фази приказивања?
Одговор: ВиевРесолвер у МВЦ архитектури одговоран је за избор потребног приказа.
мискл вс скл сервер вс орацле
Када контролер пошаље одговор на диспечерски сервлет, он шаље захтев разрешивачу приказа за добијање исправне странице приказа која се може послати клијентском веб прегледачу на презентацију.
П # 26) Која је главна разлика између напомена @Рекуестпарам и @ПатхВариабле?
Одговор: Ове напомене се користе за преузимање података и података са УРЛ адресе.
Али, главна разлика између њих је у томе што се @Рекуестпарам користи само за преузимање параметара упита, а @ПатхВариабле за преузимање комплетне УРЛ адресе.
П # 27) Објасните концепт аспектно оријентисаног програмирања?
Одговор: АОП је важан део Спринг МВЦ Арцхитецтуре. АОП се користи за пресецање брига, а такође и за апликације, валидацију података, евидентирање модула, управљање трансакцијама, аутентификацију и објекте.
Постоји много делова Аспектно оријентисаног програмирања. Они су наведени у наставку:
- Аспект: Аспецт је одговоран за унакрсне проблеме попут управљања трансакцијама итд.
- Савет: У основи се ради о радњи и методи која се извршава, а користи се и за одређену тачку спајања.
- Поинтцут: Одговорна је за извршавање савета у смислу регуларних израза.
- Заједничка тачка: То је тачка у апликацији за процесе попут руковања изузецима, извршавања методе, промене променљивих вредности итд.
- Аргументи савета : Ови аргументи се користе за прослеђивање метода.
Закључак
Надам се да бисте из овог чланка добили потпун преглед Спринг МВЦ архитектуре.
Овде смо покрили комплетан проток пролећног МВЦ протока од краја до краја, зашто нам треба пролећни МВЦ? Који су различити модули у МВЦ архитектури? Карактеристике Спринг МВЦ и диспечерског сервлета, концепт предњег контролера, слушаоци и његова функција, различите врсте напомена попут @Аутовиред, @Цонтроллер, @РекуестБоди, итд.
Такође смо сазнали више о концепту Виев Ресолвер, АОП процесу и различитим типовима контролера заједно са његовом употребом. Локализација и пресретачи, различита архитектура Спринг оквира и концепт резултата везивања заједно са његовом употребом.
Сазнали смо шта је Спринг контејнер и његова употреба у Спринг МВЦ? Коришћење датотека за конфигурацију у Спринг МВЦ-у, одговорности и важност променљиве путање. итд. Готово сва најважнија и најочекиванија питања за пролећни МВЦ интервју су објашњена у овом чланку.
Међутим, увек је препоручљиво објаснити примерима кода у апликацији у реалном времену како бисте задовољили очекивања анкетара. Сви кодови потребни за сваки концепт овде су покривени ради вашег лакшег разумевања.
Желимо ти све најбоље!
Препоручено читање
- Питања и одговори за интервјуе
- 25 најбољих питања о агилном тестирању за интервјуе и одговоре
- 25+ најпопуларнијих питања и одговора за интервју за АДО.НЕТ
- Нека незгодна ручна тестирања питања и одговори
- Питања и одговори за испитивање ЕТЛ-а
- Питања и одговори за тестирање софтвера (1. део)
- 40+ популарних пробних КА аналитичара Питања и одговори за интервју (2021 ЛИСТ)
- Топ 25 функционалних тестова Интервју питања и одговори