25 top spring mvc interview questions
Domande di intervista MVC di primavera più popolari con risposte per candidati principianti e esperti:
Spring è un potente framework utilizzato in tutto il mondo dagli sviluppatori Java per sviluppare applicazioni Web Java Enterprise.
Spring MVC sta per Model View e Controller. Proprio come gli altri framework Struts, anche Spring si basa su tecnologie J2EE che sono JSP e Servlet insieme all'implementazione del modello di progettazione Model, View e Controller.
Qui, esploreremo le domande dell'intervista di Spring MVC più comunemente poste con esempi.
Cosa imparerai:
come aprire un file bin su Windows 10
Architettura Spring MVC
L'architettura MVC ha molte classi e componenti incorporati che sono sempre disponibili per gli sviluppatori per sviluppare un'applicazione forte e liberamente accoppiata.
Loosely coupled significa che non dovrebbero esserci dipendenze hardcoded tra le classi. Questo, a sua volta, rende l'attività piuttosto complessa quando si tratta di modificare il codice o la funzionalità dell'applicazione.
L'architettura MVC ha le sue funzioni indipendenti. Il livello del modello include tutte le classi POJO e aiuta nell'incapsulamento dei dati. Il livello di visualizzazione viene utilizzato per rendere i dati presenti nel livello del modello e continua a generare output nel formato HTML per il client che lo riceve solitamente in un browser web.
Infine, il controller è responsabile dell'elaborazione della richiesta e della creazione del modello corretto e quindi invia la risposta al livello di visualizzazione o presentazione.
In questo articolo, affronterai tutti gli argomenti importanti di Spring MVC come indicato di seguito:
- Il principio di funzionamento di Spring MVC
- Architettura primaverile
- Il concetto di servlet del dispatcher
- Mappatura del gestore
- Controller
- Visualizza risoluzione
- Diversi strati di Spring MVC
- Spring core, vantaggi dell'utilizzo di Spring MVC
- Moduli a molla
- AOP
- Linguaggio di espressione
- Livello di accesso ai dati
- Modulo web
- Aspetti
- Test, ecc
- Inversione del controllo e iniezione delle dipendenze, sui file pom.xml.
Diamo un'occhiata ai pro e ai contro di Spring MVC !!
Pro di Spring MVC
Di seguito sono elencati i vari Pro di Spring MVC:
- Poiché è molto piccolo, offre prestazioni elevate con meno problemi.
- Ha un'elevata produttività che a sua volta aumenta lo sviluppo.
- È altamente sicuro in quanto utilizza Spring SPI ed è utilizzato principalmente da tutte le banche per le loro applicazioni web.
- Possiamo sviluppare applicazioni modulari, poiché supporta Model View e l'architettura del controller.
- Supporta lo sviluppo Test Driven completo, che è troppo buono.
- Fino ad ora, è più adatto per applicazioni web di sviluppo agile in tutto il mondo da parte degli sviluppatori.
- Ha una funzione di separazione delle responsabilità e dei ruoli che semplifica le attività.
- Fornisce supporto per il servizio RESTful.
- Supporta temi, internazionalizzazione, altri framework di database, JPA, viste multiple e supporto della comunità.
Contro di Spring MVC
Di seguito sono riportati alcuni dei contro di Spring MVC:
- La curva di apprendimento del framework Spring e della sua architettura MVC è un po 'complessa per gli sviluppatori in quanto ha pochi concetti complessi.
- La primavera ha natura mutevole come quelli basati su XML o basati su annotazioni e questo a sua volta diventa difficile da seguire a volte.
- Specifiche molto meno in Spring MVC.
- Se il file jar non è disponibile, l'applicazione non verrà eseguita correttamente.
- Problemi di configurazione molto grandi, molti controller da gestire, molti risolutori di visualizzazione da controllare, ecc.
Top Spring MVC Intervista Domande
Di seguito sono elencate le domande dell'intervista più importanti per Spring MVC. Cerca di comprendere il concetto di ogni domanda, in modo che sia molto utile nella spiegazione all'intervistatore. Cerca sempre di fornire o correlare con esempi di applicazioni in tempo reale. Questi sono utili anche per professionisti esperti.
D # 1) Cos'è lo Spring Framework e perché è così popolare?
Risposta: Spring Framework è un framework leggero utilizzato per sviluppare applicazioni Web Java liberamente accoppiate.
Fornisce un contenitore integrato, inserimento di dipendenze e architettura MVC. È molto popolare in quanto consente il disaccoppiamento, la riusabilità e fornisce modelli di progettazione come singleton, factory per ridurre la lunghezza del codice, ecc.E rimuove anche le connessioni deboli e ha una potente integrazione con terze parti.
D # 2) Cos'è Spring MVC?
Risposta: Spring MVC segue il concetto di Model, View e Controller.
È un'istanza di un controller che è condivisa da solo e aiuta anche a gestire diverse richieste che vengono eseguite in contenitori di inversione di controllo come intercettori e controller. Il pattern Spring MVC aiuta a separare gli aspetti dell'applicazione che includono input, logica aziendale e di presentazione.
D # 3) Quali sono le caratteristiche principali di Spring Framework?
Risposta:
Le caratteristiche principali di Spring MVC sono:
- È in grado di configurare efficacemente il framework e le classi come bean. Inoltre divide separatamente i ruoli funzionali e le responsabilità.
- Consente la definizione di un metodo di controllo illimitato che rende l'applicazione altamente regolabile e flessibile.
- Fornisce una buona personalizzazione per la mappatura del gestore, l'associazione, la risoluzione della vista e le convalide.
- Aiuta a trasferire il modello utilizzando una mappa. Fornisce inoltre il supporto per velocità, JSTL, JSP e l'utente può personalizzare la locale e la risoluzione del tema.
- Spring ha una propria libreria di tag che lo rende più flessibile e supporta data binding, temi, bean con ciclo di vita fino alla richiesta HTTP.
D # 4) Spiega il concetto di Dispatcher Servlet.
Risposta: Dispatcher Servlet è il servlet centrale principale che gestisce tutte le richieste e le risposte HTTP in entrata. Ha l'integrazione con Spring IOC, quindi permette di utilizzare tutte le funzionalità di Spring.
Una volta che il servlet del dispatcher riceve una richiesta, la inoltra alla mappatura del gestore per ottenere un controller appropriato, e ora il controller chiamerà il metodo di servizio corretto e di nuovo lo invierà al servlet del dispatcher.
Anche in questo caso, il servlet invia la richiesta al view resolver per ottenere la vista richiesta e quindi invia la risposta al browser del client.
Esempio di codice per mostrare l'utilizzo del servlet del dispatcher:
Software Testing Help Web Application SoftwareTestingHelp org.Springframework.web.servlet.DispatcherServlet 1 SoftwareTestingHelp /
D # 5) Qual è l'uso di ContextLoaderListner in Spring MVC?
Risposta: Viene utilizzato per leggere e analizzare il file di configurazione Spring ed elaborare il caricamento dei bean in quel file di configurazione.
Esempio di codice:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/applicationContext.xml 1
D # 6) Spiega la classe del front controller di Spring MVC.
Risposta: Il Front Controller è responsabile di gestire l'intera richiesta in arrivo di un'applicazione. In Spring MVC, il servlet del dispatcher funge da front controller e gestisce tutte le richieste in arrivo.
D # 7) Spiega la funzione di @Autowired Annotation.
Risposta: L'annotazione @Autowired è responsabile dell'inserimento di un bean in base al suo tipo insieme ai campi e ai metodi. In tal modo, aiutando il framework Spring a risolvere e inserire i bean che collaborano nel nostro bean.
Esempio:
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(); } }
D # 8) Qual è la funzione dell'annotazione degli attributi del modello?
Risposta: L'annotazione @ModelAttribute gioca un ruolo fondamentale nel framework Spring MVC. È responsabile del parametro del metodo di associazione con il rispettivo attributo del modello e quindi lo mostra alla pagina di presentazione.
Dipende anche da ciò che lo sviluppatore utilizza nell'annotazione dell'attributo del modello . Se viene utilizzato a livello di metodo, indica che il metodo è responsabile dell'aggiunta di attributi. Quando viene utilizzato come parametro, indica che il valore del parametro deve essere recuperato dal livello del modello.
D # 9) Spiega il concetto e la funzione della variabile di percorso.
Risposta: @PathVariable è un'annotazione utilizzata come parametro nel metodo del gestore per estrarre il valore del modello URI.
Esempio:
@RequestMapping('/Login/{Lid}') public String handleRequest(@PathVariable('Lid') String Login, Model map) { }
Q # 10) Qual è la funzione dell'annotazione @RequestBody?
Risposta: L'annotazione @RequestBody è responsabile del collegamento della richiesta del corpo HTTP a un oggetto di dominio. La richiesta HTTP in arrivo viene automaticamente de-serializzata nell'oggetto Java da Spring con l'aiuto dei convertitori di messaggi HTTP.
D # 11) Qual è la funzione dell'annotazione @ResponseBody?
Risposta: Quando l'annotazione @ResponseBody viene utilizzata nel controller MVC, indica che lo sviluppatore deve scrivere un tipo di ritorno del metodo dichiarato direttamente nel corpo della risposta HTTP. Qui, il richiamo del modello non è richiesto e il nome della vista non è interpretato da Spring.
D # 12) Perché abbiamo bisogno di View Resolver in Spring MVC e cos'è un risolutore di viste interne in Spring?
Risposta: View Resolver è responsabile del rendering dei modelli nel browser web. Non richiede tecnologie di visualizzazione specifiche come JSP, XML e Velocity, ecc.
'InternalResourceViewResolver' è il risolutore di viste interne in Spring MVC.
Ci sono alcuni importanti risolutori di viste in Spring MVC come indicato di seguito:
AbstractCachingViewResolver, XmlViewResolver, ResourceBundleViewResolver, UrlBasedViewResolver, InternalResourceViewResolver, FreeMarkerViewResolver, ContentNegotiatingViewResolver ecc.
D # 13) Spiegare il principio di funzionamento di Spring MVC Framework.
Risposta:
Il diagramma seguente aiuterà a comprendere il flusso:
Come sappiamo, si basa sul concetto di Model, View e Controller. Dispatcher Servlet riceve la richiesta HTTP a seconda della mappatura servlet eseguita in web.xml.
Una volta ricevuta la richiesta dal Dispatcher Servlet, invia la stessa richiesta al mapping del gestore per ottenere la classe controller richiesta. La mappatura degli handler è menzionata nel file di configurazione di Spring.
Anche in questo caso la richiesta viene inviata al controller e il controller elabora la richiesta e il metodo e invia l'oggetto della vista del modello richiesto al servlet del dispatcher.
Ora, la richiesta viene inviata al risolutore di viste da un servlet per ottenere la presentazione della pagina di visualizzazione.
Infine, il Dispatcher Servlet passa il modello alla pagina di presentazione e lo stesso viene renderizzato a un browser client.
D # 14) Qual è lo scopo dell'utilizzo di BindingResults?
Risposta: BindingResults è una delle interfacce di Spring inclusa nel pacchetto org. Springframework .validation e viene utilizzato per rappresentare i risultati dell'associazione.
Svolge un ruolo utile nel rilevare gli errori dai moduli inviati. Ha un processo di invocazione semplice e facile. Lo sviluppatore deve tenere a mente di inserire il risultato dell'associazione come parametro subito dopo la convalida dell'oggetto.
Sintassi:
@PostMapping('/client') public String submitpage(@Valid NewUserPage newUserPage, BindingResult result, Model model) { if (result.hasErrors()) { return 'uHome'; } model.addAttribute('message', 'Valid Page'); return 'uHome'; }
Qui, il framework Spring capirà leggendo l'annotazione @Valid e proverà a trovare il suo validatore.
D # 15) Spiegare l'architettura Model 1 e Model 2 di Spring Framework.
Risposta: Questi sono i due importanti modelli di progettazione per lo sviluppo di applicazioni web.
Modello 1:
Qui, la richiesta in arrivo viene gestita dal servlet o da un JSP. La pagina servlet o JSP è responsabile della gestione, dell'elaborazione della richiesta, del controllo della logica di business, della convalida dei dati e infine della generazione della risposta.
È semplice e ha un'architettura facile ed è preferito principalmente dalle industrie su piccola scala per sviluppare applicazioni semplici.
Modello 2:
come usare stringstream in c ++
Si tratta di un modello di progettazione importante e si basa sul concetto di Model View Controller. È in grado di separare la presentazione e la sezione logica che manipola il codice.
Questo modello è robusto, affidabile ed evita la doppiezza. È utile per la creazione di applicazioni grandi e complesse.
D # 16) Spiegare la funzione dell'intercettore Spring MVC insieme al suo utilizzo.
Risposta: Gli intercettori svolgono un ruolo utile in Spring MVC. Sono utilizzati per intercettare la richiesta del cliente, elaborare la richiesta in momenti diversi come prima di gestire la richiesta, dopo aver gestito la richiesta e dopo il completamento della parte di presentazione, ad esempio visualizzazione della pagina, ecc.
Viene anche utilizzato per questioni trasversali e riduce la ripetizione del gestore del codice come una modifica dei parametri globali nel modello in un secondo momento, la registrazione, ecc.
D # 17) È consentito utilizzare più file di configurazione Spring in Spring MVC?
Risposta: Sì, Spring consente di avere più file di configurazione in un'unica applicazione.
Esistono principalmente due modi per ottenere questo risultato e questi modi sono indicati di seguito:
(i) Lo sviluppatore deve dichiarare tutti i file nel web.xml utilizzando il parametro:
Spring org.Springframework.web.servlet.DispatcherServlet contextConfigLocation WEB-INF/Spring-dao-hibernate.xml, 1 Spring /
(ii) Lo sviluppatore può importare file nella configurazione esistente.
D # 18) Spiega le funzioni delle seguenti annotazioni: @Component, @Controller, @Repository, @Service.
Risposta: Queste sono le annotazioni importanti in Spring MVC. Diamo un'occhiata a loro.
@Componente: Questa annotazione è responsabile della conversione di una classe java nel bean in modo che possa essere riconosciuta da Spring e utilizzata nel contesto dell'applicazione.
Sintassi:
@Component public class StudentDAOImpl implements StudentDAO { ... }
@Repository: Questa annotazione ha lo stesso uso di quella di @Component, ma in aggiunta considera anche le eccezioni non controllate che possono essere utilizzate in Spring.
@Servizio: Questa annotazione converte anche la classe java nel bean, ma è meglio usare l'annotazione @service piuttosto che @component poiché fornisce specifiche migliori in un'applicazione in tempo reale.
@Controllore: Se vogliamo rendere qualsiasi classe come controller, dobbiamo specificare questa annotazione.
D # 19) Qual è il ruolo del risolutore Multipart e quando viene utilizzato?
Risposta: Multipart Resolver è responsabile del caricamento del file in un'applicazione web. Due implementazioni per esso sono commonsMultipartResolver e StandardServletMultipartResolver.
D # 20) In che modo Spring MVC fornisce supporto per la convalida?
Risposta: Spring fornisce supporto per la convalida in due modi: principalmente utilizzando l'annotazione JSR 303 e l'interfaccia del Validator.
D # 21) Come si ottiene la localizzazione nelle applicazioni web Spring MVC?
Risposta: Spring MVC è configurato con LocaleResolver per supportare sia l'internazionalizzazione che la localizzazione. Per rendere possibile ciò, alcuni bean devono essere registrati come indicato di seguito.
SessionLocaleResolver - Richiede l'aiuto degli attributi già definiti nella sessione utente per la risoluzione delle impostazioni locali.
Sintassi:
LocaleChangeInterceptor - È utile quando è presente un parametro nella richiesta in arrivo.
Sintassi:
D # 22) Spiegare il concetto di contesto dell'applicazione root in Spring MVC insieme al suo processo di caricamento.
Risposta: ContextLoaderListner è noto come contesto dell'applicazione radice in Spring MVC e viene utilizzato dall'applicazione completa.
È un ascoltatore che aiuta Spring MVC a eseguire il bootstrap. Viene utilizzato per caricare e creare applicationContext, per evitare di scrivere codice esplicito. Il bean Spring è definito nel contesto dell'applicazione.
In genere, dispatcherServlet viene utilizzato per specificare i servlet in Spring MVC.
D # 23) Qual è il ruolo di web.xml in Spring MVC e dove si trova?
Risposta: In web.xml, configuriamo ContextLoaderListner. Quando distribuiamo l'applicazione, un'istanza viene creata dal contenitore Servlet per ContextLoaderListner e quindi porta al caricamento di webApplicationContext.
D # 24) Descrivi alcuni tipi di restituzione del metodo controller.
Risposta: Alcuni dei tipi restituiti importanti dei metodi del controller includono String, void, view, ModelAndView, Model, Map, HttpHeaders e così via.
D # 25) Su che base viene scelta una vista nella fase di rendering?
Risposta: Il ViewResolver nell'architettura MVC è responsabile della scelta della vista richiesta.
Quando il controller invia la risposta al servlet del dispatcher, invia la richiesta al view resolver per ottenere la pagina di visualizzazione corretta che può essere inviata a un browser web client per la presentazione.
D # 26) Qual è la differenza principale tra l'annotazione @Requestparam e @PathVariable?
Risposta: Queste annotazioni vengono utilizzate per recuperare informazioni e dati da un URL.
Ma la differenza principale tra loro è che @Requestparam viene utilizzato solo per recuperare i parametri di query e @PathVariable viene utilizzato per recuperare l'URL completo.
D # 27) Spiega il concetto di programmazione orientata agli aspetti?
Risposta: AOP è una parte importante dell'architettura Spring MVC. AOP viene utilizzato per l'intersezione delle preoccupazioni e anche per le applicazioni, la convalida dei dati, la registrazione dei moduli, la gestione delle transazioni, l'autenticazione e gli oggetti.
Ci sono molte parti della programmazione orientata agli aspetti. Questi sono menzionati di seguito:
- Aspetto: Aspect è responsabile di questioni trasversali come la gestione delle transazioni, ecc.
- Consigli: È fondamentalmente un'azione e un metodo che vengono eseguiti e viene utilizzato anche per un punto di unione specificato.
- Pointcut: È responsabile dell'esecuzione dei consigli in termini di espressioni regolari.
- Punto comune: È un punto nell'applicazione per processi come la gestione delle eccezioni, l'esecuzione del metodo, la modifica dei valori delle variabili, ecc.
- Argomenti di consulenza : Questi argomenti vengono utilizzati per il passaggio di metodi.
Conclusione
Spero che tu possa avere una panoramica completa dell'architettura Spring MVC da questo articolo.
Qui, abbiamo coperto l'intero flusso end-to-end del flusso Spring MVC, Perché abbiamo bisogno di Spring MVC? Quali sono i diversi moduli nell'architettura MVC? Caratteristiche di Spring MVC e servlet del dispatcher, il concetto di front controller, Listeners e la sua funzione, diversi tipi di annotazioni come @Autowired, @Controller, @RequestBody, ecc.
Abbiamo anche imparato di più sul concetto di View Resolver, processo AOP e diversi tipi di controller insieme ai suoi usi. Localizzazione e intercettori, diversa architettura del framework Spring e il concetto di risultato vincolante insieme ai suoi usi.
Siamo venuti a sapere cos'è un contenitore Spring e il suo utilizzo in Spring MVC? Utilizzo dei file di configurazione in Spring MVC, responsabilità e importanza delle variabili di percorso. ecc Quasi tutte le domande dell'intervista Spring MVC importanti e più attese sono spiegate in questo articolo.
Tuttavia, è sempre consigliabile spiegare con esempi di codice nell'applicazione in tempo reale per soddisfare le aspettative dell'intervistatore. Tutti i codici richiesti per ogni concetto sono trattati qui per una facile comprensione.
Vi auguriamo tutto il meglio!
Lettura consigliata
- Domande e risposte dell'intervista
- 25 migliori domande e risposte per l'intervista al test agile
- Oltre 25 domande e risposte ai colloqui di ADO.NET più popolari
- Alcune domande e risposte sui test manuali complicati
- ETL Testing Interview Domande e risposte
- Domande e risposte sul test del software (Parte 1)
- Oltre 40 domande e risposte per l'intervista agli analisti di test più popolari [2021 LIST]
- Top 25 domande e risposte al colloquio sui test funzionali