Top 80 forårs MVC-interviewspørgsmål (2025)

Her er Spring MVC-interviewspørgsmål og svar til både friskere og erfarne kandidater til at få deres drømmejob.

 

Forårs MVC-interviewspørgsmål og svar til nybegyndere

1) Hvad er en fjeder?

Foråret skal være en ramme, der hjælper Java programmør til udvikling af kode og det giver IOC container, Dependency Injector, MVC flow og mange andre API'er til java programmøren.


2) Hvad er råd i foråret?

Det er udførelsen af ​​et aspekt. Rådgivning er som at få din ansøgning til at lære et nyt trick. De introduceres normalt ved joinpoints.

👉 Gratis PDF-download: Spring MVC Framework Interview Spørgsmål & Svar


3) Hvad er standardomfanget for bønne i Spring framework?

Standardomfanget for bønne er Singleton for Spring framework.


4) Nævn de typer transaktionsstyring, der understøttes af Spring?

Transaktionsstyring understøttet af Spring er:

  • Deklarativ transaktionsstyring.
  • Programmatisk transaktionsstyring.

5) Er Singleton bønner trådsikre i Spring Framework?

Nej, singleton bønner er ikke trådsikre i Spring-ramme.


6) Hvad er fordelene ved Spring Framework?

Følgende er fordelene ved Forårs rammer:

  • Udstrakt brug af komponenter
  • Reus Evne
  • afkobling
  • Reducerer kodningsindsats ved at bruge mønsterimplementeringer såsom singleton, fabrik, servicelocator osv.
  • Fjernelse af utætte forbindelser
  • Deklarativ transaktionsstyring
  • Nem at integrere med tredjepartsværktøjer og -teknologier.

Forårs MVC-interviewspørgsmål
Forårs MVC-interviewspørgsmål


7) Hvad er Bean Factory?

Bean Factory er kernen i fjederrammerne, og det er en letvægtsbeholder, som indlæser bønnedefinitioner og styrer dine bønner. Bønner konfigureres ved hjælp af XML-fil og administrerer singleton-definerede bønner. Det er også ansvarlig for livscyklusmetoder og injicerer afhængigheder. Det fjerner også adhoc singletons og fabrikker.


8) Definer Bean Wiring?

Bønneledninger er skabelsen af ​​associationer mellem applikationskomponenter, der er mellem bønnerne i en bestemt fjederbeholder.


9) Hvad kaldes Spring MVC?

En Spring MVC er en enkelt delt controller-instans, og den bruges til at håndtere anmodningstype-controllere, interceptorer, der kører i IoC-containeren. Det tillader også flere Dispatcher Servlets, som kan dele applikationskontekstgrænseflade, men ikke klassebaseret grænseflade.


10) Hvorfor er der brug for forårsrammer?

Forårsrammer er nødvendige, fordi det er –

  • Meget letvægtsbeholder
  • Framework
  • IOC
  • AOP

11) Nævn de forskellige moduler, der anvendes i springramme?

  • AOP-modul (Aspect Oriented Programming)
  • JDBC abstraktion og DAO modul
  • Kernebeholdermodulet
  • MVC rammemodul
  • Applikationskontekstmodul
  • O/R mapping integrationsmodul (objekt/relationel)
  • Web modul

12) Forklar RowCallbackHandler i foråret?

RowCallbackHandler kaldes for hver række i ResultSet og bruges til at læse værdier fra ResultSet.


13) Definer applikationskontekstmodul?

Dette er et meget vigtigt modul og leverer forskellige nødvendige tjenester som EJB-integration, fjernbetjening, JNDI-adgang og planlægning. Det forvandler foråret til en ramme. Det udvider også ideen om BeanFactory ved at anvende livscyklusbegivenheder, hvilket giver støtte til internationaliseringsmeddelelser og validering.


14) Skriv om AOP-modul?

AOP-modulet bruges til at skabe aspekter til Spring-applikationer. Det muliggør også understøttelse af metadataprogrammering i foråret.


15) Hvad er en BeanFactory-grænseflade?

Bean factory interface bruges til at levere konfigurationsramme til objektoprettelse og grundlæggende funktionalitet omkring objektstyring.


16) Angiv forskellene mellem ApplicationContext og BeanFactory i foråret?

  • ApplicationContext tillader mere end én konfigurationsfil at eksistere, mens BeanFactory kun tillader én.
  • ApplicationContext kan udskrive begivenheder til bønner, der er registreret som lyttere. Denne funktion er ikke understøttet af BeanFactory.
  • ApplicationContext giver også support til anvendelse af livscyklushændelser, internationaliseringsmeddelelser og validering og leverer også tjenester som EJB-integration, fjernbetjening, JNDI-adgang og planlægning. Disse funktioner understøttes heller ikke af Bean Factory.

17) Hvad er Auto Wiring?

Autowiring bruges til at opbygge relationer mellem de samarbejdende bønner. Spring container kan automatisk løse samarbejdspartnere for bønner.


18) Hvad er de forskellige tilstande for autowiring?

Autowiring har fem forskellige tilstande:

  • nr: ingen autowire
  • ved navn: Autowiring, der kan udføres ved ejendomsnavn
  • efter type: ejendomstype som autowired
  • konstruktør: Det ligner byType, og dets egenskab er i constructor
  • finde pr. automatik: Fjeder har lov til at vælge autowiring fra byType eller konstruktør

19) Hvordan begynder man at bruge foråret?

Følgende trin skal udføres for at starte med foråret:

  • Download Spring og dens afhængige fil fra springs websted.
  • Opret applikationskontekst xml for at definere bønner og dets afhængigheder
  • Integrer applikationskontekst xml med web.xml
  • Implementer og kør applikationen

20) Hvad er metoderne for bønnens livscyklus?

Der er to vigtige metoder til Bean-livscyklus:

  • Opsætning – kaldes når bønnen fyldes i beholderen
  • Teardown – kaldes når bønnen tømmes i beholderen

21) Hvad er de forskellige typer begivenheder af lyttere?

Følgende er lytternes forskellige typer begivenheder:

  • ContextClosedEvent – Denne begivenhed kaldes, når konteksten er lukket.
  • ContextRefreshedEvent – Denne hændelse kaldes, når konteksten initialiseres eller opdateres
  • RequestHandledEvent – Denne hændelse kaldes, når webkonteksten håndterer anmodningen

22) Skelner mellem singleton og prototype bønne?

Singleton betyder, at kun én bønne er defineret pr. objektforekomst, mens prototype betyder én definition til mere end én objektforekomst i foråret.


23) Hvad er typerne af afhængighedsinjektion?

To typer afhængighedsinjektion understøttes af fjederramme:

  • Setter injektion
  • Konstruktørindsprøjtning

24) Skriv om Core container modul?

Core container modul er ansvarlig for den grundlæggende funktionalitet af fjederrammerne. Hele Spring-rammen er bygget med dette modul som base.


25) Hvad er AOP-modul?

Dette AOP-modul bruges til fjederaktiveret applikation. Der er ydet støtte til AOP-alliance for at sikre interoperabiliteten mellem foråret og andre AOP-rammer.

Den instruerer foråret om at tilføje kommentarer til kildekoden og fortælle, hvordan man anvender aspekter.


Forårs MVC-interviewspørgsmål til erfarne

26) Hvad er AOP Alliance?

AOP alliance er et open source-projekt, som har til formål at fremme adoption af AOP. AOP-alliancens mål er at definere et fælles sæt af komponenter og grænseflader for at forbedre interoperabiliteten mellem forskellige AOP-implementeringer.


27) Hvad kaldes fjederkonfigurationsfil?

Spring konfigurationsfil er en XML-fil, og den indeholder klasseinformation. Den beskriver også, hvordan disse klasser er konfigureret og interagerer med hinanden.


28) Hvad er de forskellige typer af Autowire?

Der er fire forskellige typer Auto-wire:

  • ved navn
  • efter type
  • konstruktør
  • Autodetektere

29) Hvilke typer transaktionsstyring er understøttet af foråret?

Følgende er de typer transaktionsstyring, der er blevet understøttet af foråret:

  • angivelsesmæssige
  • programmatisk

30) Hvornår bruges deklarativ og programmatisk transaktionsstyring?

Når kun en lille mængde transaktionsoperationer er der, tilrådes det at bruge Programmatic transaktionsstyring. Men hvis der er en stor mængde transaktionsoperationer, der skal tages hånd om, foretrækkes deklarativ transaktionsstyring.


31) Hvad er IOC?

IOC (Inversion of Control-mønster) er også kendt som afhængighedsinjektion. IOC instruerer programmørerne til at skildre, hvordan man skaber objekter i stedet for faktisk at skabe dem. Men i dette designmønster er denne kontrol blevet givet til assembler, og assembler vil instansiere den nødvendige klasse, hvis det er nødvendigt.


32) Skriv om de forskellige typer af lytterrelaterede begivenheder?

De forskellige typer begivenheder relateret til lyttere er:

  • ContextRefreshedEvent – Dette kaldes, når konteksten opdateres eller initialiseres.
  • RequestHandledEvent – Dette bliver kaldt, når webkonteksten håndterer en anmodning.
  • ContextClosedEvent - Dette bliver kaldt, når konteksten bliver lukket.

33) Hvad er et aspekt?

Aspekt kaldes også for logning, hvilket er påkrævet gennem hele applikationen. Logning eller aspekt er en tværgående funktionalitet i en applikation, der bruger AOP.


34) Hvad er et Joinpoint?

Det punkt, hvor et aspekt kan introduceres i applikationen, er kendt som et joinpoint. Dette punkt kan være et felt, der bliver ændret, en metode, der kaldes, eller endda en undtagelse, der kastes. På disse punkter kan det nye aspekts kode tilføjes for at introducere en ny adfærd til applikationen.

Aspektkode kan indsættes på dette tidspunkt i det normale programforløb for at ændre den aktuelle adfærd.


35) Hvad kaldes et råd?

Rådgivning vil fortælle ansøgning om ny adfærd, og det er implementeringen af ​​et aspekt. Det indsættes i en ansøgning på jointpointet.

Rådgivning er implementering af et aspekt. Det er noget som at fortælle din ansøgning om en ny adfærd. Generelt indsættes rådgivningen i en ansøgning på joinpoints.


36) Hvad er en pointcut?

Pointcut bruges til at give mulighed for, hvor rådene kan anvendes.


37) Hvad er vævning?

Vævning bruges til at oprette et nyt proxyobjekt ved at anvende aspekter på målobjektet.


38) Hvad er forskellen mellem singleton og prototype bønne?

Singleton Bean – Enkelt bønnedefinition til en enkelt objektinstans pr. Spring IOC-beholder

Prototype Bean – Enkelt bønnedefinition til et vilkårligt antal objektforekomster pr. Spring IOC Container


39) På hvilke punkter kan vævning anvendes?

Følgende er de punkter, hvor vævning kan anvendes:

  • Kompileringstid
  • Klasse indlæsningstid
  • Runtime

40) Hvad er de forskellige typer af AutoProxying?

Følgende er de forskellige typer af AutoProxying:

  • BeanNameAutoProxyCreator
  • DefaultAdvisorAutoProxyCreator
  • Autoproxying af metadata

41) Hvordan kan bønner laves singleton eller prototype?

Bønnemærket har en egenskab kaldet 'singleton'. Bønnen er singleton, hvis dens værdi er 'TRUE', ellers er bønnen en prototype.


42) Hvilke klasser bruges til at kontrollere databaseforbindelsen?

Følgende er de klasser, der bruges til at kontrollere databaseforbindelse:

  • Data Source Utils
  • SmartData-kilde
  • Abstrakt datakilde
  • SingleConnection DataSource
  • DriverManager DataSource
  • TransactionAware DataSourceProxy
  • DataSource TransactionManager

43) Beskriv om DAO i Spring framework?

DAO bruges til at give integration af Java databaseforbindelse og objektrelationelle kortlægningsobjekter. DAO er fjederramme giver forbindelse til JDBC, dvale, JDO, JPA, fælles klientgrænseflade og Oracle.


44) Hvad er autoproxying?

Autoproxying bruges til at oprette proxy automatisk for forårsbrugerne. Det giver følgende to klasser for at understøtte denne automatiske proxy-oprettelse:

  • BeanNameAutoProxyCreator
  • DefaultAdvisorAutoProxyCreator

45) Hvad er Metadata Autoproxying?

Metadata Autoproxying kan udføres inspirerende, som kan drives af metadata. Dette bestemmes af kildeniveauattributter og holder metadata inde i kildekoden.

Dette vedligeholder metadata ét sted og bruges hovedsageligt til deklarativ transaktionsunderstøttelse.


46) Hvad er 'Kastråd' i foråret?

'Kastråd' definerer adfærden, når der opstår en undtagelse. Det er en grænseflade, og den har ingen metoder, der skal implementeres.

En klasse, der implementerer denne grænseflade, bør have metode med denne signatur:

  • Ugyldig prøvekast (kasttablet)
  • Void samplethrow(Metode m, Object[] o, Object target, Throw tablet)

47) Hvilke forskellige redaktører bruges i forårsarbejde?

De forskellige brugerdefinerede redaktører leveret af Spring Framework er:

  • Ejendomsredaktør
  • URL Editor
  • Klasseredaktør
  • CustomDateEditor
  • FileEditor
  • LocaleEditor
  • StringArrayPropertyEditor
  • StringTrimmerEditor

48) Hvad er fordelene ved fjederramme?

Følgende er fordelene ved forårsramme:

  • Layered Architecture
  • Aktiverer Plain Old Java Objekt (POJO) Programmering og det muliggør kontinuerlig integration og testbarhed
  • Dependency Injection og Inversion of Control, der forenkler JDBC
  • Open source-ramme, som kan bruges til kommercielle formål

49) Hvordan får man adgang til Hibernate ved hjælp af Spring-rammen?

Hibernate kan tilgås på følgende to måder:

  • Af IOC med en Callback og HibernateTemplate.
  • Ved at anvende en AOP Interceptor og udvide HibernateDaoSupporten.

50) Hvad er de forskellige kanaler, der understøttes af Spring 2.0?

Følgende er de kanaler, der understøttes af forårsversion 2.0:

  • Pollbar kanal
  • Abonnerbar kanal
  • Udgiv Abonner kanal
  • Kø-kanal
  • Prioriteret kanal
  • Rendezvous Channel
  • Direkte kanal
  • Eksekutør kanal
  • Scoped kanal

Forårs MVC-interviewspørgsmål for 5+ års erfaring

51) Hvorfor foretrækkes deklarativ transaktionsstyring i foråret?

Deklarativ transaktionsstyring har minimal indvirkning på applikationskoden og er derfor en idealistisk letvægtsbeholder.


52) Forklar begrebet en BeanFactory?

BeanFactory anvender ideen om et fabriksmønster, der bruger IOC til at adskille applikationens afhængigheder og konfiguration fra den faktiske kode.


53) Hvad er de forskellige omfang af springbønne?

Omfanget af springbean er Singleton, prototype, request, session og global session.


54) Hvad er alle måder at få adgang til Hibernate ved at bruge Spring?

Der er to måder at få adgang til dvale ved hjælp af foråret:

  • Inversion af kontrol med en dvale-skabelon og tilbagekald
  • Udvidelse af HibernateDAOSupport og anvendelse af en AOP Interceptor-node.

55) Hvordan kan stivere applikation integreres med fjeder?

Der er to muligheder for anvendelse af stivere, der kan integreres med fjeder:

Konfiguration af Spring til at administrere bønner ved hjælp af ContextLoader-plugin og indstille deres afhængigheder i en spring-kontekstfil

Grib fjederstyrede bønner eksplicit ved hjælp af agetwebapplicationcontext()


56) Hvad er Inversion of control (IOC)?

Inversion of Control (IOC) kaldes også afhængighedsinjektion, som ikke er andet end et designmønster, der giver kontrol til samleren af ​​klasser. Generelt vil klassen instansiere en anden klasse, hvis det kræves.

Men i dette designmønster er denne kontrol blevet givet til montøren, og montøren vil instansiere den nødvendige klasse, hvis det er nødvendigt.


57) Skriv fordelene ved at bruge IOC?

De største fordele ved afhængighedsinjektion eller IOC er, at det reducerer mængden af ​​kodning, der kræves til applikationen. Dette gør det muligt at teste applikationen hurtigt og nemt, da der ikke kræves nogen JNDI-opslagsmekanisme eller singletons. IOC-containere understøtter også doven lastning og ivrig installation af tjenester.


58) Hvad er indre bønne? Hvad er ulempen ved indre bønne?

Hvis et bønneelement er direkte indlejret i et egenskabsmærke, mens du forbinder bønner, så kaldes bønnen Inner Bean. Dens ulempe er, at den ikke kan genbehandles.


59) Hvad er de forskellige typer injektion om foråret?

Der er tre typer injektion om foråret:

  • Setter injektion
  • Konstruktørindsprøjtning
  • Getter eller metodeinjektion

60) Hvad er fordelene ved springramme?

Følgende er fordelene ved forårsramme:

  • Letvægtsbeholder sammenlignet med j2EE-beholdere
  • Indbygget Web MVC framework
  • Skaber løst koblede applikationer
  • Understøtter aspektorienteret programmering som logning, transaktioner og sikkerhed
  • Konfiguration udført i XML-format, som er let at skrive og forstå

61) Hvilke typer rådgivning er der?

Der er fem typer råd:

  • Før råd
  • Efter at have returneret råd
  • Efter at have kastet råd
  • Endelig råd
  • Omkring råd

62) Hvad kaldes PreparedStatementCreator?

Forberedt ErklæringCreator er en af ​​de mest brugte grænseflader til at skrive data til databasen. createPreparedStatement() er en metode, der kan bruges til at oprette og returnere PreparedStatement fra Connection-argumentet, og undtagelseshåndteringen bliver automatisk taget hånd om. Når denne grænseflade er implementeret, kan en anden grænseflade SqlProvider også implementeres, som har en metode kaldet getSql(). Denne metode er nyttig til at levere sql-strenge til JdbcTemplate. Det håndterer ikke SQLExceptions.


63) Hvad er SQLProvider?

SQLProvider har kun én metode kaldet getSql() og det implementeres ved hjælp af PreparedStatementCreator implementere. Det bruges hovedsageligt til fejlretning.


64) Skriv om BatchPreparedStatementSetter?

BatchPreparedStatementSetter bruges til at opdatere mere end en enkelt række på én gang, de kan bruge BatchPreparedStatementSetter. Denne grænseflade giver to metoder, de er

  • setValues( PreparedStatement ps, int i) kaster SOL-undtagelse
  • int getBatchSize

65) Hvad er den bedste metode til at bruge JDBC i foråret?

Hvis JDBC bruges med skabelonklassen kaldet JdbcTemplate, giver det en bedre ydeevne.


66) Hvilke undtagelser bruger DAO klasserne i springkast?

I foråret kaster DAO-klasser kun SQLException.


67) Forklar fordelene ved at bruge DAO-modul?

Databasekoden kan holdes ren og enkel ved at bruge DAO-modulet. Dette hjælper med at forhindre problemer, der opstår på grund af dårlig håndtering af lukninger af databaseressourcer. DAO-modulet bruger også AOP-modulet til at gøre det muligt for objekter i Spring-applikationen at bruge transaktionsstyringstjenester.


68) Nævn de væsentlige ApplicationContext-implementeringer, der er brugt i forårets rammer?

De er:

  • ClassPathXmlApplicationContext
  • FileSystemXmlApplicationContext
  • XmlWebApplicationContext

69) Hvordan tilføjes en bønne til en Spring-applikation?

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN">

<beans>

<bean id="foo"/>

<bean id="bar"/>

</beans>

Bønnemærket har en ID-attribut, som gemmer bønnenavnet, og en klasseattribut, som angiver det fulde klassenavn.

70) Hvad er ORM-integrationsmoduler?

Objekt/relationel kortlægningsværktøj (ORM) understøttes af Spring over straight JDBC ved at implementere ORM-modulet. Spring kan tilslutte sig forskellige vigtige ORM-frameworks, herunder JDO, iBATIS SQL Maps og Hibernate.


71) Nævn og forklar typerne af råd om foråret?

Typer af rådgivning er:

  • Før råd: Rådgivning, der udføres forud for et jointpoint, kaldes 'før-rådgivningen'.
  • Efter returnering af råd: Rådgivning, der udføres efter den normale gennemførelse af et jointpoint, kaldes 'efter returnering'.
  • Efter at have kastet råd: Råd, der kun udføres, hvis en metode afsluttes unormalt ved at kaste en undtagelse, kaldes 'efter kasteråd'et.
  • Efter (endelig) råd: Råd, der udføres uanset hvordan et jointpoint forlader, kaldes 'efter endelig rådgivning'.
  • Omkring råd: Råd, der grænser op til et jointpoint, for eksempel en metodeinvokation, kaldes et 'omkring råd'. Dette kan bruges til at udføre særlige aktiviteter før og efter påkaldelsen af ​​metoden.

72) Hvad er webmodulet?

Webmodulet muliggør oprettelse af en webapplikation uden XML. Web.xml-filen skal konfigureres til brug af webmodulet.


73) Hvad er DataAccessException?

DataAccessException er en RuntimeException. Det er en ukontrolleret undtagelse. Brugeren kan ikke tvinges til at håndtere denne form for undtagelser.


74) Hvad er XMLBeanFactory?

Fjeder omfatter flere anvendelser af bønnefabrik. Ud af disse er org.springframework.beans.factory.xml.XmlBeanFactory en meget vigtig. Den indlæser bønnerne på basis af definitionerne gemt i en XML-fil. Til oprettelse af en XmlBeanFactory sendes en java.io.InputStream til konstruktøren. InputStream leverer XML til fabrikken. For at hente bønnen kaldes f.eks. getBean()-metoden ved at videregive navnet på den ønskede bønne.

MyBean helloBean = (MyBean) factory.getBean("helloBean");

75) Navngiv den undtagelsesklasse, der er forbundet med de undtagelser, som applikationerne giver?

Det er DataAccessException givet af org.springframework.dao.DataAccessException


76) Nævn typerne af lOC (afhængighedsinjektion)?

De forskellige typer loC er: –

  • Setter injektion: Med hjælp fra JavaBønner egenskaber.
  • Konstruktørindsprøjtning: Afhængigheder er givet i form af konstruktørparametre.
  • Interface Injection: Ved hjælp af en grænseflade udføres en Injection.

Ud af disse tre er det kun konstruktion og sætter, der bliver brugt i foråret.


77) Hvad er de vigtige livscyklusmetoder for bønner?

Alt i alt er der to bønne-livscyklusmetoder. Den første metode er opsætningsmetoden, som kaldes under påfyldning af bønnen i beholderen. Den anden er, når bønnen tømmes fra beholderen, og denne metode kaldes nedrivningen.


78) Hvordan kan standard livscyklusmetoder for bønner annulleres?

Mærket, bean, har to nyttige attributter, som kan bruges til at definere specielle initialiserings- og destruktionsmetoder.

For eksempel kan to nye metoder forSetup og forTeardown føjes til Foo-klassen på følgende måde:

<beans>

<bean id="bar" init-method="forSetup" destroy="forTeardown"/>

</beans>

79) Hvad er en Target?

Et mål er den klasse, der anbefales. Denne klasse kan enten være en klasse, som vi ønsker at tilføje en speciel adfærd til, eller en tredjepartsklasse. Målklassen kan frit koncentrere sig om sin største bekymring ved at bruge AOP-koncepterne, uanset hvilken rådgivning der anvendes.


80) Forklar begrebet fuldmagt?

Udtrykket proxy refererer til et objekt, der er fremstillet ved anvendelse af en rådgivning til målobjektet.


81) Hvad er tværgående bekymring og bekymring i forårets AOP?

  • Tværgående bekymring: Det er en bekymring, som er gældende i hele ansøgningen, og den påvirker hele ansøgningen. F.eks. Sikkerhed, logning og dataoverførsel er de bekymringer, der er nødvendige i næsten alle moduler i en applikation.
  • Bekymring: Bekymring er en adfærd, som vi ønsker at have i et modul i en applikation. Spørgsmål, som vi er interesserede i, definerer vores bekymring.

Disse interviewspørgsmål vil også hjælpe i din viva(orals)