top 48 spring interview questions
Llista de preguntes i respostes a les entrevistes de primavera més freqüents per ajudar-vos a preparar la propera entrevista:
En aquest article, coneixerem el Spring Framework més popular i més utilitzat. Inclou les preguntes Spring Framework i Spring MVC per a estudiants de primer any i professionals experimentats. Tanmateix, abans d’endinsar-nos en la part de primavera, entenem què és un marc i per què necessitem un marc addicional?
Un marc en termes senzills es pot entendre com un límit determinat que ja està construït perquè altres coses puguin venir i s’acumulin per realitzar una determinada acció.
A la terminologia del programari, es pot definir un Framework com una determinada aplicació que ja està desenvolupada i que conté moltes funcionalitats i funcions per donar suport a qualsevol aplicació que estigui en mode de desenvolupament.
Spring Framework
Un framework conté diverses classes i components ja fets, que un desenvolupador no necessita crear per desenvolupar una aplicació, reduint així la complexitat del codi i fent que l’aplicació sigui fàcil de mantenir. També estalvia temps, de manera que s’aconsegueix una reducció de costos.
Primavera El framework es coneix com un framework lleuger per la seva petita mida i la seva alta efectivitat. És de codi obert i, per tant, proporciona una forta infraestructura per desenvolupar aplicacions Java d’una manera senzilla i senzilla. Proporciona suport a altres marcs com Hibernate, Struts, EJB, etc.
Es divideix en certs mòduls per aconseguir múltiples coses simultàniament. Els mòduls Spring inclouen mòduls bàsics, mòduls web, mòduls d’integració de dades, mòduls de prova, mòduls AOP, etc. Cada mòdul té el seu propi propòsit segons els requisits dels desenvolupadors.
En aquest article, tractarem tots els temes importants a la primavera que són importants des del punt de vista de l’entrevista.
Anem a tractar què és Spring Framework, els seus tipus de mòduls, el concepte d'injecció de dependència i inversió de control, bean i el seu cicle de vida, diferents àmbits del bean, concepte de cablejat automàtic, gestió d'esdeveniments a la primavera, Spring AOP, gestió de transaccions de Spring. , Spring MVC i el seu flux arquitectònic.
També tractarem la important anotació utilitzada en diferents mòduls de moll i configuracions, i sobre el contenidor de molla.
Aquí s’han explicat alguns exemples de codis de conceptes molt importants que us ajudaran a explicar-los de manera detallada. S'han proporcionat enllaços addicionals per referir-se a l'exemple de Spring MVC. Hem explicat el concepte de servlet de despatx de manera molt refinada.
Amb aquestes respostes puntuals i nítides, podreu respondre amb confiança a la majoria de les preguntes de l’entrevista.
Preguntes i respostes d’entrevistes de primavera més populars
Explorem les preguntes més freqüents de l'entrevista de Spring Framework amb respostes i exemples detallats.
P # 1) Què és un Framework? Expliqueu el marc de primavera.
Resposta: Framework és un programari ja construït que ajuda els desenvolupadors a afegir més funcionalitats a les seves aplicacions mitjançant l'ús de classes i biblioteques ja construïdes.
Spring Framework és un marc d’injecció de dependències que ajuda els desenvolupadors a desenvolupar aplicacions basades en Java. Spring és un marc de codi obert per a Java Enterprise.
Q # 2) Per què es prefereix Spring per sobre dels altres marcs?
Resposta: La primavera és preferible a la resta de marcs a causa de les funcions següents:
- Molt petit i lleuger
- Ajuda a aconseguir una aplicació poc acoblada mitjançant la inversió de control.
- Suport AOP
- Marc MVC
- Bona funció de gestió de transaccions
- Recipient de molla
- Maneig d’excepcions
Q # 3) Classifiqueu els diferents tipus de mòduls al Spring Framework.
Resposta: El A continuació s’esmenten cinc mòduls principals de Spring Framework:
- Spring Core Container que inclou core, beans, context i llenguatge d'expressió.
- AOP i Aspectes.
- Mòdul d’integració de dades que inclou JDBC, OXM, ORM, mòduls de transaccions, etc.
- Mòdul web que inclou web, servlet, puntals i portlet.
- Prova
Q # 4) Expliqueu el fitxer de configuració de primavera.
Resposta: Un fitxer XML conté tota la informació sobre les classes juntament amb el seu procés de configuració i com han interactuat aquestes classes amb les altres classes.
Q # 5) Expliqueu el concepte d'injecció de dependència.
Resposta: En primer lloc, la injecció significa transferir la dependència a qualsevol objecte dependent.
La injecció de dependència és un tipus de patró de disseny que ajuda a desenvolupar una aplicació poc acoblada. És una implementació d'inversió de control que ajuda a resoldre dependències en una aplicació.
Evita la creació d’autoobjectes i guia més aviat com s’han de crear objectes a través de configuracions i després el COI decideix quins serveis s’han de fer coincidir amb quins components.
La injecció de dependència és la característica principal del Spring Framework.
P # 6) Quins són els diferents tipus d’injecció de dependència? Expliqueu-los.
Resposta: Hi ha dos tipus d’injecció de dependència. Són els següents:
- Injecció de dependència basada en la construcció - S’aconsegueix quan el contenidor Spring invoca un constructor amb arguments i cadascun té certa dependència de l’altra classe.
- Injecció de dependència basada en setter- S’aconsegueix quan el contenidor Spring crida al mètode setter de beans després d’invocar un constructor sense arguments per instanciar el bean.
P # 7) Què és bo utilitzar: dependència basada en constructors o setter?
Resposta: Ambdós tipus d’injecció de dependència es poden utilitzar en funció de les situacions. És una regla de polze, que per a la dependència obligatòria, s’utilitza la injecció de dependència basada en el constructor mentre que per a la dependència opcional s’utilitza la injecció de dependència basada en setter.
Q # 8) Quins avantatges té la inversió de control?
Resposta: Hi ha diversos avantatges del COI i a continuació, se'n detallen alguns:
- IOC és capaç de reduir la complexitat del codi reduint el codi a l'aplicació.
- Mitjançant l’ús de COI a l’aplicació, les proves es tornen més senzilles i senzilles, ja que no es requereixen cap consulta ni un solitari.
- El COI aconsegueix un acoblament fluix i, al seu torn, fa que el codi sigui més mantenible.
- El COI admet la instanciació primerenca i la càrrega tardana de serveis.
Q # 9) Expliqueu el concepte d'AOP.
Resposta: AOP significa Programació orientada a aspectes. És un altre enfocament de la programació que ajuda els desenvolupadors a reestructurar el comportament de responsabilitats com la gestió de transaccions i el registre.
L'AOP s'implementa per a qüestions transversals, és a dir, la definició es proporciona en un sol lloc i, funcionalment, es pot utilitzar en molts llocs amb l'ajut del guió.
Q # 10) Expliqueu l'ús del Spring Container.
Resposta: És la part central i l’eix vertebrador del framework Spring. El contenidor Spring ajuda a crear objectes, combinar-los junts, gestionar les seves configuracions i completar el cicle de vida de creació, implementació i destrucció.
El contenidor Spring compta amb l'ajuda de Dependency Injection per gestionar els components que configuren l'aplicació.
Q # 11) Quins són els diferents tipus de contenidors IOC?
Resposta: el contenidor IOC és de dos tipus, tal com s'esmenta a continuació:
- Fàbrica de mongetes - És un contenidor senzill i proporciona suport per a la injecció de dependència.
- Spring ApplicationContext - És un contenidor avançat que afegeix funcions complexes com descodificar missatges textuals de fitxers i és capaç de publicar esdeveniments als oients.
P # 12) Quina és la implementació del contenidor Bean Factory?
Resposta: La classe XmlBeanFactory és la implementació més important de la fàbrica de grans i és útil per llegir dades dels fitxers XML.
P # 13) Quina és la implementació del contenidor ApplicationContext?
Resposta: Alguns dels contenidors ApplicationContext més utilitzats inclouen FileSystemXmlApplicationContext, ClassPathXmlApplicationContext i WebXmlApplicationContext, etc.
P # 14) Què són els fesols a la primavera?
Resposta: Spring Beans no són més que objectes Java simples que el contenidor Spring gestiona.
Exemple:
package com.javaworld; public class Demo { private String message; public void setMessage(String message){ this.message = message; } public void getMessage(){ System.out.println('Display Information: ' + message); } }
P # 15) Quins són els components de la definició de Bean?
Resposta: Bàsicament, la definició de bean conté les metadades de configuració que utilitza el contenidor Spring per conèixer detalls com, el procés de creació de bean, el cicle de vida del bean i les dependències d’un bean.
P # 16) Quines són les formes en què es poden proporcionar metadades de configuració al contenidor Spring?
Resposta: Les metadades de configuració es poden proporcionar al Spring Container de tres maneres, és a dir, mitjançant un fitxer de configuració basat en XML, una configuració basada en anotacions i una configuració basada en Java.
el millor convertidor de vídeo gratuït per a Windows 10
P # 17) Quina és la sintaxi per afegir un bean a l'aplicació Spring?
Resposta: Sintaxi:
P # 18) Quins són els tipus d’abast de mongetes?
Resposta: L’abast del bean es pot definir com a prototipus, sol·licitud, sessió, sessió global, etc.
- El prototip es declara quan es requereix una nova instància de bean cada vegada.
- Singleton es declara quan s’utilitza la mateixa instància de bean cada vegada.
- La sol·licitud s'utilitza per a l'abast de la sol·licitud HTTP.
- La sessió s'utilitza per a l'abast de la sessió HTTP.
- La sessió Global-HTTP abasta el bean a la sessió HTTP global.
Syntax:
P # 19) Quin és l'abast predeterminat de la mongeta a la primavera? A més, estan sincronitzats?
Resposta: L’abast predeterminat de bean a Spring és Singleton. A més, no estan sincronitzats, és a dir, no són segurs per a fils.
P # 20) Quin és el cicle de vida d'una mongeta a la primavera?
Resposta: El cicle de vida d'un Spring Bean segueix certs passos, tal com s'esmenta a continuació:
- Instanciació: el contenidor Spring del fitxer XML troba la definició del bean i, aleshores, s’instancia el bean.
- Propietats de població: el contenidor Spring omple totes les propietats esmentades a la definició de bean amb l'ajut de la injecció de dependència.
- Definició del nom de Bean.
- Configuració de la fàbrica de mongetes.
- Preinicialització i inicialització del bean.
- Post inicialització del fesol.
- Destrueix la mongeta cridant el mètode destroy ().
P # 21) Què vols dir amb mongetes interiors?
Resposta: El bean que es defineix dins de l'element propietat o constructor s'anomena bean interior.
No es requereix cap identificador ni nom específic per al bean interior, de fet, el contenidor Spring evita aquests valors juntament amb la definició d'abast. Es diu que les mongetes interiors són anònimes i el seu abast sempre es defineix com a prototips.
P # 22) Quines són les maneres d’inserir el concepte de col·lecció a la primavera?
Resposta: Bàsicament, hi ha quatre elements de col·lecció per inserir a la primavera.
Ells són:
- element - Connecta el conjunt de valors eliminant-ne els duplicats.
- element - És útil inserir o injectar valors i també permet duplicar valors.
- element - S'utilitza per inserir un parell de claus o nom-valor que pot ser de qualsevol tipus.
- element - S’utilitza per inserir parells clau o nom-valor, però el tipus només ha de ser la cadena.
P # 23) Expliqueu el concepte de cablejat automàtic.
Resposta: El cablejat automàtic és un concepte essencial en el framework Spring. S'utilitza per injectar implícitament la dependència d'objectes mitjançant l'ús d'una injecció basada en un setter o un constructor. El cablejat automàtic només funciona amb tipus de referència, de manera que no és útil per injectar valors per a tipus de cadenes i primitius.
El millor avantatge de l'autowire és que els desenvolupadors necessiten escriure menys codi ja que l'autowire s'encarrega de la injecció de dependència. A més, el programador no ha controlat el procés aleshores.
Syntax:
Lectura recomanada => Anotació de cable automàtic de primavera, Nom del nom de Spring Bean Autowire
Q # 24) Expliqueu els diferents modes de cablejat automàtic.
Resposta: El cablejat automàtic inclou cinc modes, que guien el contenidor Spring per utilitzar la funció d’injecció de dependència.
- Sense mode - Es diu que és la configuració predeterminada i implica que el cablejat automàtic està desactivat i s'hauria d'utilitzar un bean explícit per al cablejat de referència.
- per nom - El cablejat automàtic es pot fer pel nom de la propietat. El contenidor Spring cerca al fitxer de configuració XML per trobar els grans que l’atribut autowire estigui definit per byName.
- per tipus - El cablejat automàtic es pot fer per tipus de propietat. El contenidor Spring cerca al fitxer de configuració XML les mongetes l’atribut autowire de la qual està establert per byType.
- constructor - És gairebé igual que byType, però el tipus és aplicable per als arguments del constructor si no es troba cap tipus d'argument del constructor al contenidor, es produeix un error.
- Auto detectar - Es refereix al comportament de Spring que mostra la seva prioritat d'elecció. En primer lloc, Spring tria el cablejat automàtic mitjançant el constructor, si no passa, canvia la prioritat a byType.
P # 25) Hi ha alguna limitació del cablejat automàtic? Si és així, expliqueu-ho.
Resposta: Sí, hi ha algunes limitacions del cablejat automàtic que s’esmenten a continuació:
- Sempre hi ha la possibilitat d’anul·lar.
- El desenvolupador no podrà connectar automàticament les propietats primitives i Spring.
- El cablejat automàtic esdevé complex quan s’utilitza en aplicacions grans en comparació amb el cablejat explícit.
P # 26) Què és el cablejat d’anotacions i com l’encenem?
Resposta: L’ús alternatiu de XML són les anotacions en què els desenvolupadors mouen tota la configuració en una classe amb l’ajut d’anotacions per a una classe o mètode concret.
Es declara activat al fitxer de configuració de primavera.
P # 27) Per a què serveix l’anotació @Required?
Resposta: S'utilitza per indicar que en el moment de la configuració, la propietat del bean s'hauria d'emplenar mitjançant un cablejat automàtic o un valor de propietat explícit a la definició del bean.
Exemple:
package com.softwaretestinghelp; import org.Springframework.beans.factory.annotation.Required; public class Employee { private Integer age; private String Lname; @Required public void setAge(Integer age) { this.age = age; } public Integer getAge() { return age; } @Required public void setLName(String Lname) { this.name = name; } public String getLName() { return name; } }
P # 28) Per a què serveix l’anotació @Autowired?
Resposta: Ajuda a obtenir un millor control i comprensió de com i on s’ha d’aconseguir el cablejat automàtic. Es pot utilitzar per al bean autowire en qualsevol mètode, propietat o constructor de setter.
Exemple:
package com.softwaretestinghelp; import org.Springframework.beans.factory.annotation.Autowired; public class code-editor { private SpellCheck spellCheck; @Autowired public void setSpellCheck( SpellCheck spellCheck ){ this.spellCheck = spellCheck; } public SpellCheck getSpellCheck( ) { return spellCheck; } public void spellCheck() { spellCheck.checkSpelling(); } }
P # 29) Per a què serveix l’anotació @Qualifier?
Resposta: S'utilitza principalment quan el desenvolupador està obligat a crear molts fesols del mateix tipus i vol connectar només un d'ells amb la propietat, en aquest escenari @Qualifier amb @Autowired s'utilitza per eliminar confusions i especificar el fesol exacte a connectar .
P # 30) Com es gestiona un esdeveniment a la primavera?
Resposta: La gestió d'esdeveniments s'aconsegueix mitjançant la classe ApplicationEvent i la interfície ApplicationListner.
Quan el bean implementa ApplicationListner, ApplicationEvent es genera a ApplicationContext i notifica que el bean es genera.
P # 31) Quins són els exemples d'esdeveniments de primavera estàndard?
Resposta: Hi ha molts esdeveniments de primavera estàndard que tenen un propòsit respectiu i pocs són ContextStartedEvent, ContextRefreshedEvent, ContextStoppedEvent, ContextClosedEvent, RequestHandledEvent, etc.
P # 32) Què significa el punt conjunt?
Resposta: Denota un punt específic on es pot connectar l'aspecte AOP. És la ubicació original de l'aplicació on es poden fer algunes accions mitjançant el marc AOP.
P # 33) Què és la plantilla JDBC i com utilitzar-la a la primavera?
Resposta: La plantilla JDBC és una plantilla proporcionada pel framework Spring per utilitzar JDBC de manera més eficient.
La plantilla JDBC s'utilitza generalment per a la conversió de dades de la base de dades en objectes, l'execució de sentències preparades i cridades, i també és compatible amb el tractament d'errors d'una base de dades.
P # 34) Què és la gestió de transaccions a la primavera? Expliqueu els diferents tipus de gestió de transaccions.
Resposta: La transacció és bàsicament una operació realitzada en algunes dades de la base de dades. La gestió de transaccions forma part del sistema de gestió de bases de dades relacionals i s’utilitza per garantir l’ètica i la coherència de les dades.
L’avantatge principal de la Gestió de Transaccions és que admet la Gestió de Transaccions i API declaratives i programàtiques com Hibernate, JTA i JDBC mitjançant una integració correcta.
Hi ha dos tipus de gestió de transaccions, que s’esmenten a continuació:
- Gestió de transaccions programàtica s'utilitza per ajudar a la transacció en termes de codificació o scripting.
- Gestió declarativa de transaccions s’utilitza per aïllar el codi comercial i les transaccions.
P # 35) Quina és la gestió de transaccions més utilitzada?
Resposta: La gestió de transaccions declarativa és àmpliament utilitzada pels desenvolupadors.
P # 36) Expliqueu el framework Spring MVC.
Resposta: MVC significa Model, View i Controller. Spring MVC Framework s’utilitza per desenvolupar aplicacions web amb un bon flux d’arquitectura i configuracions. És altament flexible en la integració amb els altres marcs.
P # 37) Expliqueu l'arquitectura Spring MVC.
Resposta: L’arquitectura Spring MVC es basa en Model, Vista i Controlador.
[imatge font ]
L'enllaç anterior també conté un exemple senzill del flux MVC complet de primavera com a referència.
El flux de l'arquitectura de primavera va de la següent manera :
- La sol·licitud la rep el servlet del despatxador.
- El servlet Dispatcher envia la sol·licitud al mapatge del gestor que proporciona la resposta en termes de nom de classe de controlador.
- Ara la sol·licitud s'envia al controlador des del servlet del distribuïdor, de manera que el controlador processa la sol·licitud i retorna l'objecte de visualització del model com a resposta al servlet del distribuidor.
- Una vegada més, el servlet despatxador envia la sol·licitud per veure el resolucionari per obtenir la pàgina de visualització correcta.
- Finalment, el servlet despatxador envia l’objecte model rebut a la pàgina del navegador per mostrar el resultat.
El @Controller i @RequestMapping són les dues anotacions principals que s’utilitzen al flux Spring MVC.
P # 38) Què utilitza el servlet Dispatcher?
Resposta: Servlet Dispatcher s'utilitza per gestionar totes les sol·licituds HTTP i respostes entrants del client. En general, controla totes les comunicacions des del controlador fins al controlador per veure el solucionador a la pàgina de visualització real.
P # 39) Expliqueu l'ús de les anotacions @Controller i @RequestMapping a Spring MVC.
Resposta:
@Controlador - Denota aquella classe particular que es comporta com un controlador.
@RequestMapping - S'utilitza bàsicament per assignar un URL a tota la classe o a qualsevol mètode en particular.
Q # 40) Expliqueu la inversió del control i la injecció de dependència mitjançant un exemple senzill.
Resposta: Com sabem, s’utilitza per eliminar la dependència d’una aplicació.
Codi sense DI:
public class Student { Address address; Employee() { address= new Address();// here we are creating instance } }
Estudiant i adreça utilitzaran la mateixa instància, per tant hi haurà una dependència creada aquí.
Codi amb DI:
public class Student{ Address address; Employee(Address address) { this.address=address;//not creating instance } }
Aquí no es crea cap instància, de manera que no es crea dependència, de manera que el codi es fa més flexible i acoblat de manera fluida.
P # 41) Expliqueu els consells i els seus tipus.
Resposta: Qualsevol acció realitzada per AOP s’anomena consell.
el millor programari gratuït per descarregar vídeos de youtube
Hi ha cinc tipus d’assessorament que s’esmenten a continuació:
- Abans de consells.
- Després d’un consell.
- Després de tornar consells.
- Al voltant del consell.
- Llança consells.
P # 42) Quins són els diferents tipus de mapes relacionals d'objectes que admet la primavera?
Resposta: Spring admet ORM com Hibernate, IBatis, TopLink, Java Data Object, OJB i JPA, etc.
Q # 43) Per què es prefereix Spring sobre els frameworks o els avantatges bàsics de Spring Framework?
Resposta: La primavera es prefereix sobre el marc per diversos motius. A continuació, se’n mencionen pocs:
- Spring resol molts problemes complexos de desenvolupament d'aplicacions mitjançant els seus sub-mòduls com ara nucli, web, accés a dades, proves, etc.
- Spring proporciona classes POJO per al desenvolupament que al seu torn redueix l'estrès.
- Integració potent amb els altres marcs.
- Bona prova d'aplicacions.
- Funció i modularitat de la gestió de transaccions.
Q # 44) Què vol dir amb Spring Batch?
Resposta: Spring batch també és un marc lleuger que es crea per donar suport al desenvolupament d'aplicacions de lots robustes per al sistema empresarial.
El lot de primavera millora la productivitat, l'enfocament per al desenvolupament i fa que certes funcions que els usuaris han après a la primavera siguin molt més fàcils.
P # 45) Quin és l'ús principal del marc de lots Spring?
Resposta: Spring batch s'utilitza principalment per llegir i escriure fitxers, i també en realitzar determinades operacions a la base de dades com llegir o escriure, transformació de dades, creació d'informes, també importar i exportar dades, etc.
P # 46) Expliqueu l'arquitectura per lots de primavera.
Resposta: L’arquitectura per lots de primavera comprèn principalment tres capes de components, és a dir, una aplicació, un nucli i una infraestructura.
Una aplicació consisteix en tasques de seqüències d’ordres i batch creades pels desenvolupadors a través del lot de primavera. El nucli conté totes les classes importants i necessàries que són necessàries per iniciar i controlar un treball per lots. Finalment, la infraestructura gestiona tant l’aplicació com el nucli, inclosos els serveis, lectors, escriptors, etc.
Q # 47) Expliqueu el tauler a Spring Batch.
Resposta: Tasklet és una interfície, que sovint es diu per realitzar una tasca només com netejar o suprimir o configurar recursos durant el temps d'execució.
Q # 48) Expliqueu el principi de funcionament de Spring Batch.
Resposta: El lot de primavera funciona principalment en quatre passos, tal com s'esmenta a continuació:
- En primer lloc, step-it guia la feina per fer el seu treball respectiu.
- Té una interfície itemReader per proporcionar les dades.
- Té la interfície itemProcessor per a una transformació de dades.
- Per últim, té una interfície itemStreamWriter per generar el resultat desitjat.
Conclusió
Esperem que aquest article us hagi proporcionat informació clara sobre el Spring Framework. Ha explicat Spring i les seves característiques, les aplicacions en què s'utilitza Spring i per què és essencial per al desenvolupament d'aplicacions.
Mòduls Spring, injecció de dependència, inversió de control, gestió de transaccions, programació orientada a l’aspecte, concepte d’acoblament solt, arquitectura Spring MVC, importants anotacions, fesols i cablejat automàtic.
Aquí s’inclouen totes les preguntes importants de l’entrevista de primavera que cobreixen tots els temes esmentats. Sempre és aconsellable explicar qualsevol concepte amb l'ajut d'un exemple de codi, que doni una millor comprensió a l'entrevistador.
Espero que aquest article us ajudi a esborrar les vostres entrevistes. Tot el millor!
Lectura recomanada
- Preguntes i respostes de l’entrevista
- Algunes preguntes d’entrevistes de proves de programari interessants
- 20 preguntes selectives sobre l'entrevista de control de qualitat per esborrar l'entrevista el 2021
- Preguntes i respostes d’entrevistes de proves ETL
- Top 25 de les preguntes de l'entrevista de Perl que hauríeu de preparar el 2021
- Top 25 de preguntes d'entrevistes d'enginyeria de programari [ÚLTIMA 2021]
- Top 36 de les preguntes de l'entrevista de Jenkins [per al 2021]
- Top 12 de les preguntes sobre l'entrevista de Mockito (entrevista de Mocking Framework)