top 48 spring interview questions
Liste over hyppigst stillede spørgsmål om forårssamtaler og svar til at hjælpe dig med at forberede dig til det kommende interview:
I denne artikel vil vi lære om de mest populære og udbredte Spring Framework. Det inkluderer Spring Framework og Spring MVC-spørgsmål til nybegyndere og erfarne fagfolk. Men inden vi går dybt ind i forårsdelen, lad os forstå, hvad en ramme er, og hvorfor vi kræver en ramme derudover?
bedste gratis dvd-ripper til Windows 10
En ramme i enkle vendinger kan forstås som en bestemt grænse, der allerede er bygget til andre ting, der skal komme og akkumuleres for at udføre en bestemt handling.
I softwareterminologien kan et Framework defineres som et bestemt program, der allerede er udviklet, der indeholder mange funktioner og funktioner til understøttelse af ethvert program, der er i udviklingstilstand.
Spring Framework
En ramme indeholder flere færdige klasser og komponenter, som en udvikler ikke behøver at oprette for at udvikle en applikation, hvilket reducerer en masse kodekompleksitet og gør applikationen let at vedligeholde. Det sparer også tid, hvorved omkostningsreduktion opnås.
Forår Framework er kendt som en letvægtsramme på grund af dens lille størrelse og høje effektivitet. Det er open source og giver således en stærk infrastruktur til at udvikle Java-applikationer på en enkel og nem måde. Det giver support til forskellige andre rammer som Hibernate, Struts, EJB osv.
Det er opdelt i visse moduler for at opnå flere ting samtidigt. Forårsmoduler inkluderer kernemodul, webmodul, dataintegrationsmodul, testmodul, AOP-modul osv. Hvert modul tjener sit eget formål i henhold til udviklernes krav.
I denne artikel vil vi dække alle de vigtige emner i foråret, der er vigtige set fra interviewets synspunkt.
Vi vil dække, hvad der er en Spring Framework, dens modultyper, konceptet med afhængighedsindsprøjtning & inversion af kontrol, bønne og dens livscyklus, forskellige omfang af bønnen, konceptet for autoledning, håndtering af begivenheder om foråret, Spring AOP, Spring Transaction Management , forår MVC og dens arkitektur flow.
Vi vil også dække den vigtige kommentar, der bruges i forskellige moduler af fjeder og konfigurationer og om fjederbeholder.
Nogle kodeeksempler på meget vigtige begreber er blevet forklaret her, og de hjælper dig med at forklare på en detaljeret måde. Yderligere links er givet til at henvise til eksempel på Spring MVC-eksempel. Vi har forklaret begrebet afsenderservlet på en meget raffineret måde.
Med disse skarpe og punkt-til-punkt-svar vil du være i stand til at besvare de fleste af interviewspørgsmålene med tillid.
Mest populære forårsspørgsmål og svar
Lad os udforske de hyppigst stillede spørgsmål om forårssamtaler med detaljerede svar og eksempler.
Q # 1) Hvad er en ramme? Forklar forårets ramme.
Svar: Framework er en allerede bygget software, der hjælper udviklerne med at tilføje flere funktioner til deres applikationer ved hjælp af allerede byggede klasser og biblioteker.
Spring Framework er en afhængighedsinjektionsramme, som hjælper udviklerne med at udvikle applikationer baseret på Java. Spring er en open source-ramme for Java Enterprise.
Spørgsmål nr. 2) Hvorfor foretrækkes foråret frem for de andre rammer?
Svar: Foråret foretrækkes frem for de andre rammer på grund af nedenstående funktioner:
- Meget lille størrelse og let
- Hjælper med at opnå løst koblet anvendelse ved Inversion of Control.
- AOP support
- MVC-ramme
- God transaktionsstyringsfunktion
- Fjederbeholder
- Undtagelse håndtering
Q # 3) Kategoriser de forskellige typer moduler i Spring Framework.
Svar: Det fem hovedmoduler i Spring Framework er nævnt nedenfor:
- Spring Core Container, som inkluderer kerne, bønner, kontekst og ekspressionssprog.
- AOP og aspekter.
- Dataintegrationsmodul, der inkluderer JDBC, OXM, ORM, transaktionsmoduler osv.
- Webmodul, der inkluderer web, servlet, struts og portlet.
- Prøve
Q # 4) Forklar fjederkonfigurationsfilen.
Svar: En XML-fil indeholder alle oplysninger om klasser sammen med deres konfigurationsproces og hvordan disse klasser har interageret med de andre klasser.
Q # 5) Forklar begrebet Dependency Injection.
Svar: For det første betyder injektion at overføre afhængigheden til ethvert afhængigt objekt.
Afhængighedsindsprøjtning er en slags designmønster, der hjælper med at udvikle en løst koblet applikation. Det er en implementering af inversion af kontrol, der hjælper med at løse afhængigheder i en applikation.
Det undgår oprettelse af selvobjekter og styrer snarere, hvordan objekter skal oprettes gennem konfigurationer, og derefter beslutter IOC, hvilke tjenester der skal matches med hvilke komponenter.
Afhængighedsinjektion er kerneelementet i Spring Framework.
Q # 6) Hvad er forskellige typer afhængighedsinjektion? Forklar dem.
Svar: Der er to typer afhængighedsinjektion. De er som følger:
- Konstruktionsbaseret afhængighedsinjektion - Det opnås, når Spring container påberåber en konstruktør med argumenter og hver har en vis afhængighed af den anden klasse.
- Setterbaseret afhængighedsinjektion- Det opnås, når Spring-containeren kalder setter-metoden for bønner efter påberåbelse af en konstruktør uden argumenter for at instantiere bønnen.
Q # 7) Hvilket er godt at bruge - Constructor eller Setter-baseret afhængighed?
Svar: Begge typer afhængighedsinjektion kan bruges i overensstemmelse hermed baseret på situationerne. Det er en tommelfingerregel, at der til obligatorisk afhængighed bruges konstruktørbaseret afhængighedsinjektion, mens der til valgfri afhængighed anvendes setterbaseret afhængighedsinjektion.
Q # 8) Hvad er fordelene ved Inversion of Control?
Svar: Der er flere fordele ved IOC, og få af dem er nævnt nedenfor:
- IOC er i stand til at reducere kodekompleksiteten ved at reducere koden i applikationen.
- Ved at bruge IOC i applikationen bliver test mere enkel og let, da der ikke kræves nogen opslag og singletoner.
- Løs kobling opnås af IOC, og det gør igen koden mere vedligeholdelig.
- IOC understøtter tidlig instantiering og sen indlæsning af tjenester.
Q # 9) Forklar begrebet AOP.
Svar: AOP står for Aspect Oriented Programming. Det er en anden tilgang til programmering, der hjælper udviklerne med at omstrukturere adfærd for ansvarsområder som Transaction Management og logging.
AOP implementeres til tværgående bekymringer, dvs. definitionen findes ét sted og funktionelt kan den bruges mange steder ved hjælp af scriptet.
Q # 10) Forklar brugen af Spring Container.
Svar: Det er kernedelen og rygraden i Spring framework. Spring container hjælper med at oprette objekter, kombinere objekterne sammen, styre deres konfigurationer og fuldføre livscyklussen for oprettelse, implementering og destruktion.
Spring container tager hjælp af Dependency Injection til at styre de komponenter, der bygger applikationen op.
Spørgsmål nr. 11) Hvad er de forskellige typer IOC-containere?
Svar: IOC-container er af to typer som nævnt nedenfor:
- Bønnefabrik - Det er en simpel beholder og understøtter injektion af afhængighed.
- Spring ApplicationContext - Det er en avanceret container, der tilføjer komplekse funktioner som afkode tekstbeskeder fra filer og er i stand til at offentliggøre begivenheder til lytterne.
Spørgsmål nr. 12) Hvad er implementeringen af Bean Factory-containeren?
Svar: XmlBeanFactory-klassen er den vigtigste implementering af bønnefabrikken og er nyttig til læsning af data fra XML-filerne.
Spørgsmål nr. 13) Hvad er implementeringen af ApplicationContext container?
Svar: Nogle af de mest anvendte ApplicationContext-containere inkluderer FileSystemXmlApplicationContext, ClassPathXmlApplicationContext og WebXmlApplicationContext osv.
Spørgsmål nr. 14) Hvad er bønner om foråret?
Svar: Spring Beans er intet andet end simple Java-objekter, der administreres af Spring-containeren.
Eksempel:
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); } }
Spørgsmål nr. 15) Hvad er komponenterne i Bean Definition?
Svar: Dybest set indeholder bønnedefinition de konfigurationsmetadata, der bruges af Spring-beholderen til at kende detaljer som, bønneoprettelsesproces, bønns livscyklus og afhængighed af en bønne.
Spørgsmål nr. 16) Hvad er måderne, hvorpå konfigurationsmetadata kan leveres til Spring-containeren?
Svar: Konfigurationsmetadataene kan leveres til Spring Container på tre måder, dvs. gennem XML-baseret konfigurationsfil, annotationsbaseret konfiguration og Java-baseret konfiguration.
Spørgsmål nr. 17) Hvad er syntaksen for at tilføje en bønne i Spring-applikationen?
Svar: Syntaks:
Spørgsmål nr. 18) Hvad er typerne for bønner?
Svar: Bean scope kan defineres som singleton og prototype, anmodning, session, global session osv.
- Prototype erklæres, når der kræves en ny bønneinstans hver gang.
- Singleton erklæres, når den samme bønneinstans bruges hver gang.
- Anmodning bruges til HTTP-anmodningsomfanget.
- Session bruges til HTTP-sessionsomfanget.
- Global-HTTP-session afgrænser bønnen til den globale HTTP-session.
Syntax:
Spørgsmål nr. 19) Hvilket er standardområdet for bønner om foråret? Derudover er de synkroniserede?
Svar: Standardområdet for bønner i foråret er Singleton. Desuden er de ikke synkroniserede, dvs. de er ikke trådsikre.
Spørgsmål nr. 20) Hvad er livscyklussen for en bønne om foråret?
Svar: Livscyklussen for en Spring Bean følger visse trin, som nævnt nedenfor:
- Instantiering - Fjedercontainer fra XML-filen finder bønnedefinitionen, og bønnen instantieres derefter.
- Befolkningsegenskaber - Springcontainer udfylder alle de egenskaber, der er nævnt i bønnedefinitionen ved hjælp af afhængighedsinjektion.
- Indstilling af navnet på Bean.
- Indstilling af bønnefabrikken.
- Forinitialisering og initialisering af bønner.
- Efter initialisering af bønner.
- Ødelæg bønnen ved at kalde destroy () -metoden.
Q # 21) Hvad mener du med indre bønner?
Svar: Bønnen, der er defineret inde i ejendommen eller konstruktørelementet, kaldes en indre bønne.
Intet specifikt ID eller navn kræves til indre bønne. Faktisk undgår Spring container disse værdier sammen med definitionen af omfanget. Indre bønner siges at være anonyme, og deres omfang defineres altid som prototyper.
Spørgsmål nr. 22) Hvad er måderne til at indsætte samlingskonceptet om foråret?
Svar: Dybest set er der fire indsamlingselementer, der skal indsættes om foråret.
De er:
- element - Det trækker værdisættet ved at fjerne duplikaterne fra dem.
- element - Det er nyttigt at indsætte eller indsætte værdier og tillader også duplikatværdier.
- element - Det bruges til at indsætte en nøgle eller et navn-værdi-par, der kan være af enhver type.
- element - Det bruges til at indsætte nøgle- eller navnværdipar, men typen skal kun være strengen.
Spørgsmål nr. 23) Forklar begrebet Autowiring.
Svar: Autotråd er et vigtigt koncept i foråret. Det bruges til implicit at injicere objektafhængighed ved brug af en setter- eller konstruktorbaseret injektion. Autotråd fungerer kun med referencetyper, så det er ikke nyttigt at injicere værdier til primitive og strengtyper.
Den bedste fordel ved autowire er, at udviklerne har brug for at skrive mindre kode, da afhængighed injektion er taget hånd om af autowire. Desuden har programmøren ikke kontrolleret over processen dengang.
Syntax:
Anbefalet læsning => Spring Autowired Annotation, Spring Bean Autowire Byname
Q # 24) Forklar de forskellige tilstande for Autowiring.
Svar: Autotråd kommer med fem tilstande, som styrer Spring Container til brug af Dependency Injection-funktionen.
- Ingen tilstand - Det kaldes for at være standardindstillingen og indebærer, at autoledning er deaktiveret, og en eksplicit bønne skal bruges til referencekabler.
- ved navn - Autoledning kan udføres efter ejendomsnavn. Springcontainer søger i XML-konfigurationsfilen efter de bønner, hvis autowire-attribut er indstillet til byName.
- af Type - Autoledning kan udføres efter ejendomstype. Springcontainer søger i XML-konfigurationsfilen efter de bønner, hvis autowire-attribut er indstillet til byType.
- Bygger - Det er næsten det samme som byType, men typen kan anvendes til konstruktørargumenter, hvis der ikke findes nogen konstruktørargumenttype i containeren, så kastes der en fejl.
- Finde pr. automatik - Det henviser til forårets opførsel, der viser dets valg af prioritet. For det første vælger Spring autowiring ved hjælp af konstruktøren. Hvis det ikke sker, ændrer det prioriteten til byType.
Spørgsmål nr. 25) Er der nogen begrænsning af autokabler? Hvis ja, forklar.
Svar: Ja, der er nogle begrænsninger for autoledning, som er nævnt nedenfor:
- Der er altid en mulighed for tilsidesættelse.
- Udvikleren kan ikke autowire primitive og Spring egenskaber.
- Autoledning bliver kompleks, når den bruges i store applikationer sammenlignet med eksplicit ledningsføring.
Spørgsmål nr. 26) Hvad er ledningsføring af kommentarer, og hvordan tænder vi det?
Svar: Den alternative anvendelse af XML er kommentarer, hvor udviklerne flytter hele konfigurationen i en klasse ved hjælp af kommentarer til en bestemt klasse eller metode.
Den er tændt i Spring Configuration-filen ved at erklære.
Spørgsmål nr. 27) Hvad er brugen af @Required-kommentar?
Svar: Det bruges til at indikere, at bønneegenskaben ved konfigurationstidspunktet skal udfyldes gennem autowiring eller eksplicit egenskabsværdi i bønnedefinitionen.
Eksempel:
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; } }
Q # 28) Hvad er brugen af @Autowired-kommentar?
Svar: Det hjælper med at få bedre kontrol og forståelse for, hvordan og hvor autekabler skal opnås. Det kan bruges til autowire bønnen på en hvilken som helst setter metode, ejendom eller konstruktør.
Eksempel:
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(); } }
Spørgsmål nr. 29) Hvad er brugen af @Qualifier-kommentar?
Svar: Det bruges hovedsageligt, når udvikleren er forpligtet til at oprette mange bønner af samme type og kun vil tilslutte en af dem med ejendommen. I dette scenarie @Qualifier med @Autowired bruges til at fjerne forvirring og specificere den nøjagtige bønne, der skal kables .
Spørgsmål nr. 30) Hvordan håndteres en begivenhed i foråret?
Svar: Hændelseshåndtering opnås gennem ApplicationEvent-klassen og ApplicationListner-grænsefladen.
Når bønnen implementerer ApplicationListner, genereres ApplicationEvent til ApplicationContext og meddeler, at bønnen genereres.
Spørgsmål nr. 31) Hvad er eksemplerne på standard forårshændelser?
Svar: Der er mange standard forårshændelser, der tjener det respektive formål, og få blandt dem er ContextStartedEvent, ContextRefreshedEvent, ContextStoppedEvent, ContextClosedEvent, RequestHandledEvent osv.
Spørgsmål nr. 32) Hvad betegner Joint Point?
Svar: Det angiver et specifikt punkt, hvor AOP-aspektet kan tilsluttes. Det er det oprindelige sted i applikationen, hvor der kan foretages nogle handlinger ved hjælp af AOP-rammen.
Spørgsmål nr. 33) Hvad er JDBC-skabelonen, og hvordan man bruger den om foråret?
mp3 musik download gratis top app
Svar: JDBC-skabelon er en skabelon, der leveres af Spring-rammen for at bruge JDBC mere effektivt.
JDBC-skabelon bruges generelt til konvertering af databasedata til objekter, udførelse af forberedte og kaldbare udsagn og understøtter også fejlhåndtering af en database.
Spørgsmål nr. 34) Hvad er transaktionsstyring om foråret? Forklar de forskellige typer af transaktionsstyring.
Svar: Transaktion er dybest set en operation udført på nogle data i databasen. Transaktionsstyring hører under Relational Database management-systemet og bruges til at sikre dataetik og konsistens.
Kernefordelen ved Transaction Management er, at den understøtter deklarativ og programmatisk Transaction Management og API'er som Hibernate, JTA og JDBC ved korrekt integration.
qa test interviewspørgsmål til freshers
Der er to typer transaktionsstyring, som er nævnt nedenfor:
- Programmatisk transaktionsstyring bruges til at hjælpe transaktionen med hensyn til kodning eller scripting.
- Erklæring om transaktionsstyring bruges til at isolere forretningskode og transaktioner.
Spørgsmål nr. 35) Hvilken er den mest anvendte transaktionsstyring?
Svar: Deklarativ transaktionsstyring bruges i vid udstrækning af udviklere.
Q # 36) Forklar MVC-rammerne om foråret.
Svar: MVC står for Model, View og Controller. Spring MVC framework bruges til at udvikle webapplikationer med god arkitekturflow og konfigurationer. Det er meget fleksibelt i integration med de andre rammer.
Q # 37) Forklar foråret MVC-arkitektur.
Svar: Spring MVC-arkitektur er baseret på Model, View og Controller.
[billede kilde ]
Ovenstående link har også et simpelt eksempel på den komplette Spring MVC-strøm til reference.
Strømmen af Spring Architecture går på følgende måde :
- Anmodningen modtages af afsenderens servlet.
- Dispatcher-servlet sender anmodningen til handlertilknytningen, som giver svaret med hensyn til controller-klassens navn.
- Nu sendes anmodningen til controlleren fra afsenderservleten, og derfor behandler controlleren anmodningen og returnerer modelvisningsobjektet som et svar på afsenderservleten.
- Igen sender senderservlet anmodningen om at få vist resolver for at få den korrekte visningsside.
- Endelig sender ekspeditionsservlet det modtagne modelobjekt til browsersiden for at vise resultatet.
@Controller og @RequestMapping er de to hovedkommentarer, der bruges i Spring MVC flow.
Q # 38) Hvad er brugen af Dispatcher Servlet?
Svar: Dispatcher Servlet bruges til at håndtere alle indgående HTTP-anmodninger og svar fra klienten. Samlet set styrer det al kommunikation fra handleren til controlleren for at se opløseren til den aktuelle visningsside.
Q # 39) Forklar brugen af @Controller og @RequestMapping-kommentarer i Spring MVC.
Svar:
@Kontrol - Det betegner den særlige klasse, der opfører sig som en controller.
@RequestMapping - Det bruges grundlæggende til at kortlægge en URL til hele klassen eller til en bestemt metode.
Q # 40) Forklar inversionen af kontrol- og afhængighedsinjektion gennem et simpelt eksempel.
Svar: Som vi ved, bruges det til at fjerne afhængigheden fra et program.
Kode uden DI:
public class Student { Address address; Employee() { address= new Address();// here we are creating instance } }
Studerende og adresse bruger den samme forekomst, og der vil derfor være en afhængighed oprettet her.
Kode med DI:
public class Student{ Address address; Employee(Address address) { this.address=address;//not creating instance } }
Her oprettes ingen instanser, så afhængighed oprettes ikke, koden bliver derfor mere fleksibel og løst koblet.
Q # 41) Forklar råd og dets typer.
Svar: Enhver handling foretaget af AOP kaldes et råd.
Der er fem typer råd som nævnt nedenfor:
- Før rådgivning.
- Efter rådgivning.
- Efter returnering af rådgivning.
- Omkring rådgivning.
- Kaster råd.
Spørgsmål nr. 42) Hvad er de forskellige typer Objektrelationskortlægning, som Spring understøtter?
Svar: Spring understøtter ORM som Hibernate, IBatis, TopLink, Java Data Object, OJB og JPA osv.
Spørgsmål nr. 43) Hvorfor foretrækkes forår fremfor rammer eller kernefordele ved forårsramme?
Svar: Foråret foretrækkes frem for rammerne på grund af flere grunde. Få af dem er nævnt nedenfor:
- Spring løser mange komplekse problemer med applikationsudvikling ved hjælp af sine undermoduler som kerne, web, dataadgang, test osv.
- Spring giver POJO-klasser til udvikling, hvilket igen reducerer stress.
- Kraftig integration med de andre rammer.
- God applikationstest.
- Transaktionsstyringsfunktion og modularitet.
Spørgsmål nr. 44) Hvad mener du med Spring Batch?
Svar: Spring batch er også en letvægtsramme, der er skabt til at understøtte udviklingen af robuste batchapplikationer til virksomhedssystemet.
Spring batch forbedrer produktiviteten, tilgangen til udvikling og gør visse funktioner, som brugerne har lært i Spring, meget lettere.
Spørgsmål nr. 45) Hvad er den vigtigste anvendelse af Spring batch-rammen?
Svar: Spring batch bruges hovedsageligt til at læse og skrive filer og også til at udføre bestemte operationer i databasen som læsning eller skrivning, datatransformation, oprettelse af rapporter, også import og eksport af data osv.
Q # 46) Forklar Spring batch-arkitektur.
Svar: Spring batch-arkitektur består hovedsageligt af tre komponentlag, dvs. en applikation, kerne og infrastruktur.
En applikation består af script- og batchjob, der er oprettet af udviklerne gennem forårspartiet. Kernen indeholder alle de vigtige og nødvendige klasser, der er nødvendige for at starte og kontrollere et batchjob. Endelig håndterer infrastruktur både applikation og kerne inklusive tjenester, læsere, forfattere osv.
Q # 47) Forklar tasklet i Spring Batch.
Svar: Tasklet er en grænseflade, som ofte kaldes til at udføre en opgave kun som oprydning eller sletning eller opsætning af ressourcer under udførelsestid.
Q # 48) Forklar arbejdsprincippet for Spring Batch.
Svar: Spring batch fungerer hovedsageligt på fire trin som nævnt nedenfor:
- For det første guider step-it jobbet til at udføre sit respektive arbejde.
- Det har en itemReader-grænseflade til at levere dataene.
- Det har itemProcessor-interface til en transformation af data.
- Endelig har den en itemStreamWriter-grænseflade til at generere det ønskede resultat.
Konklusion
Vi håber, at denne artikel ville have givet dig klare oplysninger om Spring Framework. Det har forklaret Spring og dets funktioner, applikationer, hvor Spring bruges, og hvorfor det er vigtigt for applikationsudvikling.
Fjedermoduler, Afhængighedsinjektion, Inversion af kontrol, Transaktionsstyring, Aspektorienteret programmering, løs koblingskoncept, Spring MVC-arkitektur, vigtige kommentarer, bønner og Autowiring.
Alle de vigtige forårsspørgsmål, der dækker alle de ovennævnte emner, er inkluderet her. Det tilrådes altid at forklare ethvert koncept ved hjælp af et kodeeksempel, som giver intervieweren bedre forståelighed.
Håber denne artikel hjælper dig med at rydde dine interviews, alle de bedste!
Anbefalet læsning
- Interviewspørgsmål og svar
- Nogle interessante softwaretestinterviewspørgsmål
- 20 selektive QA-interviewspørgsmål for at rydde interviewet i 2021
- ETL Testing Interview Spørgsmål og svar
- Top 25 Perl-interviewspørgsmål, du skal forberede i 2021
- Top 25 spørgsmål om softwareingeniørinterview [SENESTE 2021]
- Top 36 Jenkins interviewspørgsmål [Til 2021]
- Top 12 Mockito Interview Spørgsmål (Mocking Framework Interview)