De 80 bästa vårens MVC-intervjufrågor (2024)
Här är vårens MVC-intervjufrågor och svar för både fräscha och erfarna kandidater att få sitt drömjobb.
Vårens MVC-intervjufrågor och svar för nybörjare
1) Vad är en fjäder?
Våren kommer att bli en ram som hjälper Java programmerare för utveckling av kod och det tillhandahåller IOC-container, Dependency Injector, MVC-flöde och många andra API:er för java-programmeraren.
2) Vad är råd under våren?
Det är utförandet av en aspekt. Råd är som att få din ansökan att lära sig ett nytt knep. De introduceras vanligtvis vid joinpoints.
👉 Gratis PDF-nedladdning: Spring MVC Framework Intervju Frågor och svar
3) Vad är standardomfattningen för böna i Spring framework?
Standardomfånget för bönan är Singleton for Spring framework.
4) Nämn vilka typer av transaktionshantering som stöds av Spring?
Transaktionshantering som stöds av Spring är:
- Deklarativ transaktionshantering.
- Programmatisk transaktionshantering.
5) Är Singleton-bönor trådsäkra i Spring Framework?
Nej, singletonbönor är inte trådsäkra i Spring-ramverket.
6) Vilka är fördelarna med Spring Framework?
Följande är fördelarna med Vårram:
- Omfattande användning av komponenter
- reus Förmåga
- frikoppling
- Minskar kodningsansträngning genom att använda mönsterimplementeringar som singleton, fabrik, servicelocator etc.
- Borttagning av läckande anslutningar
- Deklarativ transaktionshantering
- Lätt att integrera med tredjepartsverktyg och teknologier.
7) Vad är Bean Factory?
Bean Factory är kärnan i fjäderramverket och det är en lätt behållare som laddar böndefinitioner och hanterar dina bönor. Bönor konfigureras med hjälp av XML-fil och hanterar singleton-definierade bönor. Den ansvarar också för livscykelmetoder och injicerar beroenden. Det tar också bort adhoc-singlar och fabriker.
8) Definiera Bean Wiring?
Bönledningar är skapandet av associationer mellan applikationskomponenter som finns mellan bönorna i en viss fjäderbehållare.
9) Vad kallas Spring MVC?
En Spring MVC är en enda delad styrenhetsinstans och den används för att hantera kontroller av begärantyp, interceptorer som körs i IoC-behållaren. Det tillåter också flera Dispatcher Servlets som kan dela applikationskontextgränssnitt men inte klassbaserat gränssnitt.
10) Varför behövs vårram?
Våra ramar behövs eftersom det är –
- Mycket lätt behållare
- Ramverk
- IOC
- AOP
11) Nämn de olika modulerna som används i fjäderramverket?
- AOP-modul (aspektorienterad programmering)
- JDBC-abstraktion och DAO-modul
- Core containermodulen
- MVC rammodul
- Applikationskontextmodul
- O/R-mappningsintegrationsmodul (Objekt/Relationell)
- Webbmodul
12) Förklara RowCallbackHandler på våren?
RowCallbackHandler anropas för varje rad i ResultSet och används för att läsa värden från ResultSet.
13) Definiera applikationskontextmodul?
Detta är en mycket viktig modul och tillhandahåller olika nödvändiga tjänster som EJB-integration, fjärrstyrning, JNDI-åtkomst och schemaläggning. Den förvandlar våren till en ram. Det breddar också idén om BeanFactory genom tillämpning av livscykelhändelser, ger stöd för internationaliseringsmeddelanden och validering.
14) Skriva om AOP-modulen?
AOP-modulen används för att skapa aspekter för Spring-applikationer. Det möjliggör också stöd för metadataprogrammering under våren.
15) Vad är ett BeanFactory-gränssnitt?
Bean factory-gränssnittet används för att tillhandahålla konfigurationsramverk för objektskapande och grundläggande funktionalitet kring objekthantering.
16) Ange skillnaderna mellan ApplicationContext och BeanFactory på våren?
- ApplicationContext tillåter mer än en konfigurationsfil att existera medan BeanFactory endast tillåter en.
- ApplicationContext kan skriva ut händelser till bönor registrerade som lyssnare. Denna funktion stöds inte av BeanFactory.
- ApplicationContext ger också stöd för tillämpning av livscykelhändelser, internationaliseringsmeddelanden och validering och tillhandahåller även tjänster som EJB-integration, fjärrstyrning, JNDI-åtkomst och schemaläggning. Dessa funktioner stöds inte heller av Bean Factory.
17) Vad är Auto Wiring?
Autowiring används för att bygga relationer mellan de samverkande bönorna. Spring container kan automatiskt lösa kollaboratörer för bönor.
18) Vilka är de olika lägena för Autowiring?
Autowiring har fem olika lägen:
- nej: ingen autowire
- vid namn: Autowiring som kan göras med egenskapens namn
- byType: egenskapstyp som autowired
- konstruktör: Det liknar byType och det är egenskapen i konstruktorn
- autodetektera: Fjäder tillåts välja autowiring från byType eller konstruktor
19) Hur börjar man använda våren?
Följande steg måste göras för att börja med våren:
- Ladda ner Spring och dess beroende fil från vårens webbplats.
- Skapa applikationskontext xml för att definiera bönor och dess beroenden
- Integrera applikationskontext xml med web.xml
- Distribuera och kör programmet
20) Vilka är metoderna för bönans livscykel?
Det finns två viktiga metoder för bönans livscykel:
- Installation – kallas när bönan laddas i behållaren
- Teardown – kallas när bönan lastas av i behållaren
21) Vilka är de olika typerna av evenemang av lyssnare?
Följande är de olika typerna av evenemang av lyssnare:
- ContextClosedEvent – Den här händelsen anropas när sammanhanget är stängt.
- ContextRefreshedEvent – Den här händelsen anropas när sammanhanget initieras eller uppdateras
- RequestHandledEvent – Den här händelsen anropas när webbkontexten hanterar begäran
22) Skiljer på singelböna och prototypböna?
Singleton betyder att endast en böna definieras per objektinstans medan Prototype betyder en definition till mer än en objektinstans under Spring.
23) Vilka typer av Dependency Injection?
Två typer av beroendeinjektion stöds av fjäderramverk:
- Setter Injection
- Konstruktörinsprutning
24) Skriv om Core containermodul?
Core container modul ansvarar för den grundläggande funktionaliteten hos fjäderramverket. Hela Spring-ramverket är byggt med denna modul som bas.
25) Vad är AOP-modul?
Denna AOP-modul används för fjäderaktiverad applikation. Stöd har getts AOP-allians för att säkerställa interoperabilitet mellan våren och andra AOP-ramverk.
Den instruerar våren att lägga till kommentarer till källkoden och berätta hur man tillämpar aspekter.
Vårens MVC-intervjufrågor för erfarna
26) Vad är AOP Alliance?
AOP-alliansen är ett öppen källkodsprojekt som syftar till att främja antagandet av AOP. AOP-alliansens mål är att definiera en gemensam uppsättning komponenter och gränssnitt för att förbättra interoperabiliteten mellan olika AOP-implementeringar.
27) Vad kallas fjäderkonfigurationsfil?
Spring-konfigurationsfilen är en XML-fil och den innehåller klassinformation. Den beskriver också hur dessa klasser är konfigurerade och interagerar med varandra.
28) Vilka olika typer av Autowire finns?
Det finns fyra olika typer av autotråd:
- vid namn
- efter typ
- konstruktör
- autodetektera
29) Vilka typer av transaktionshantering stöds av våren?
Följande är de typer av transaktionshantering som har stötts under våren:
- deklarativ
- programmatiskt
30) När används deklarativ och programmatisk transaktionshantering?
När endast en liten mängd transaktionsoperationer finns där, rekommenderas att använda Programmatic transaktionshantering. Men om det finns en stor mängd transaktionsoperationer som ska tas om hand är deklarativ transaktionshantering att föredra.
31) Vad är IOC?
IOC (Inversion of Control-mönster) är också känt som beroendeinjektion. IOC uppmanar programmerarna att skildra hur man skapar objekt istället för att faktiskt skapa dem. Men i detta designmönster har denna kontroll getts till montören och montören kommer att instansiera den klass som krävs om det behövs.
32) Skriv om olika typer av Lyssnarrelaterade händelser?
De olika typerna av händelser relaterade till lyssnare är:
- ContextRefreshedEvent – Detta anropas när sammanhanget uppdateras eller initieras.
- RequestHandledEvent – Detta anropas när webbkontexten hanterar en förfrågan.
- ContextClosedEvent – Det här anropas när sammanhanget stängs.
33) Vad är en aspekt?
Aspekt kallas också som loggning vilket krävs genom hela applikationen. Loggning eller aspekt är en tvärgående funktionalitet i en applikation som använder AOP.
34) Vad är en Joinpoint?
Den punkt där en aspekt kan införas i applikationen kallas en joinpoint. Denna punkt kan vara ett fält som ändras, en metod som anropas eller till och med ett undantag som kastas. Vid dessa punkter kan den nya aspektens kod läggas till för att introducera ett nytt beteende i applikationen.
Aspektkod kan infogas vid denna punkt i det normala applikationsflödet för att ändra det nuvarande beteendet.
35) Vad kallas ett råd?
Råd kommer att berätta för ansökan om nytt beteende och det är implementeringen av en aspekt. Det infogas i en applikation vid joinpointen.
Råd är implementeringen av en aspekt. Det är ungefär som att berätta för din ansökan om ett nytt beteende. Vanligtvis infogas råden i en ansökan på joinpoints.
36) Vad är en Pointcut?
Pointcut används för att tillåta var råden kan tillämpas.
37) Vad är vävning?
Vävning används för att skapa nya proxyobjekt genom att tillämpa aspekter på målobjektet.
38) Vad är skillnaden mellan singelböna och prototypböna?
Singleton Bean – Enskild böndefinition till en enda objektinstans per Spring IOC-behållare
Prototyp Bean – Enskild böndefinition till valfritt antal objektinstanser per Spring IOC Container
39) På vilka punkter kan vävning användas?
Följande är de punkter där vävning kan tillämpas:
- Kompilera tid
- Klassladdningstid
- Runtime
40) Vilka olika typer av AutoProxying finns?
Följande är de olika typerna av AutoProxying:
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
- Autoproxying av metadata
41) Hur kan bönor göras singleton eller prototyp?
Bönetiketten har ett attribut som kallas 'singleton'. Bönan är singel om dess värde är 'TRUE', annars är bönan en prototyp.
42) Vilka klasser används för att kontrollera databasanslutningen?
Följande är klasserna som används för att kontrollera databasanslutningen:
- Datakälla Utils
- SmartData källa
- Abstrakt datakälla
- SingleConnection DataSource
- DriverManager DataSource
- TransactionAware DataSourceProxy
- DataSource TransactionManager
43) Beskriv om DAO i Spring framework?
DAO används för att tillhandahålla integration av Java databasanslutning och objektrelationsmappningsobjekt. DAO är fjäderramverk ger anslutning för JDBC, hibernate, JDO, JPA, Common client interface och Oracle.
44) Vad är autoproxying?
Autoproxying används för att skapa proxy automatiskt för våranvändarna. Den tillhandahåller följande två klasser för att stödja detta automatiska proxyskapande:
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
45) Vad är Metadata Autoproxying?
Metadata Autoproxying kan utföras inspirerande som kan drivas av metadata. Detta bestäms av källnivåattribut och håller metadata i källkoden.
Detta upprätthåller metadata på ett ställe och används främst för deklarativt transaktionsstöd.
46) Vad är "Kastråd" på våren?
"Kastråd" definierar beteendet när ett undantag inträffar. Det är ett gränssnitt och det har inga metoder som behöver implementeras.
En klass som implementerar detta gränssnitt bör ha en metod med denna signatur:
- Ogiltigt provkastning (kastplatta)
- Void samplethrow(Method m, Object[] o, Object target, Throw tablet)
47) Vilka olika redaktörer används i vårarbetet?
De olika anpassade redigerarna som tillhandahålls av Spring Framework är:
- PropertyEditor
- URLEditor
- Klassredigerare
- CustomDateEditor
- FileEditor
- LocaleEditor
- StringArrayPropertyEditor
- StringTrimmerEditor
48) Vilka är fördelarna med fjäderram?
Följande är fördelarna med fjäderram:
- Layered Architecture
- Aktiverar Plain Old Java Objekt (POJO) Programmering och det möjliggör kontinuerlig integration och testbarhet
- Dependency Injection och Inversion of Control som förenklar JDBC
- Ramverk med öppen källkod som kan användas för kommersiella ändamål
49) Hur nås Hibernate med Spring-ramverket?
Hibernate kan nås på följande två sätt:
- Av IOC med en Callback och Hibernate Template.
- Genom att tillämpa en AOP Interceptor och bredda HibernateDaoSupport.
50) Vilka olika kanaler stöds av Spring 2.0?
Följande är kanalerna som stöds av vårversion 2.0:
- Pollbar kanal
- Kanal som kan prenumereras
- Publicera Prenumerera kanal
- Kökanal
- Prioritetskanal
- Rendezvous Channel
- Direkt kanal
- Executor Channel
- Scoped kanal
Vårens MVC-intervjufrågor för 5+ års erfarenhet
51) Varför är deklarativ transaktionshantering att föredra under våren?
Deklarativ transaktionshantering har minimal inverkan på applikationskoden och är därför en idealistisk lättviktsbehållare.
52) Förklara begreppet en BeanFactory?
BeanFactory tillämpar idén om ett fabriksmönster som använder IOC för att separera applikationens beroenden och konfiguration från den faktiska koden.
53) Vilka olika omfattningar har vårbönor?
Omfattningar av springbean är Singleton, prototyp, begäran, session och global session.
54) Vilka är alla sätt att komma åt Hibernate genom att använda Spring?
Det finns två sätt att komma åt viloläge med våren:
- Inversion av kontroll med en vilolägesmall och återuppringning
- Utöka HibernateDAOSupport och tillämpa en AOP Interceptor-nod.
55) Hur kan fjäderbensapplikation integreras med fjäder?
Det finns två alternativ för stagapplikation som kan integreras med fjäder:
Konfiguration av Spring för att hantera bönor med ContextLoader-plugin och ställa in deras beroenden i en fjäderkontextfil
Ta tag i fjäderstyrda bönor uttryckligen med hjälp av agetwebapplicationcontext()
56) Vad är Inversion of control (IOC)?
Inversion of Control (IOC) kallas också beroendeinjektion, vilket inte är något annat än ett designmönster som ger kontroll till assemblern av klasser. I allmänhet kommer klassen att instansiera en annan klass om det behövs.
Men i detta designmönster har denna kontroll givits till montören och montören kommer att instansiera den klass som krävs om det behövs.
57) Skriv fördelarna med att använda IOC?
De största fördelarna med beroendeinjektion eller IOC är att det minskar mängden kodning som krävs för applikationen. Detta gör att testningen av applikationen kan göras snabbt och enkelt eftersom ingen JNDI-uppslagsmekanism eller singletons krävs. IOC-containrar stöder också lat lastning och ivrig installation av tjänster.
58) Vad är Inner Bean? Vad är nackdelen med innerböna?
Om ett bönelement är direkt inbäddat i en egenskapstagg när du kopplar bönor, kallas bönan Inner Bean. Dess nackdel är att den inte kan återbearbetas.
59) Vilka är de olika typerna av injektion på våren?
Det finns tre typer av injektion på våren:
- Setter Injection
- Konstruktörinsprutning
- Getter eller metodinjektion
60) Vilka är fördelarna med fjäderramverk?
Följande är fördelarna med vårram:
- Lättviktsbehållare jämfört med j2EE-behållare
- Inbyggt Web MVC-ramverk
- Skapar löst kopplade applikationer
- Stöder aspektorienterad programmering som loggning, transaktioner och säkerhet
- Konfiguration gjord i XML-format som är lätt att skriva och förstå
61) Vilka typer av råd finns det?
Det finns fem typer av råd:
- Före råd
- Efter att ha returnerat råd
- Efter att ha kastat råd
- Äntligen råd
- Runt råd
62) Vad som kallas PreparedStatementCreator?
Förberedt uttalandeCreator är ett av de mest använda gränssnitten för att skriva data till databasen. createPreparedStatement() är en metod som kan användas för att skapa och returnera PreparedStatement från Connection-argumentet, och undantagshanteringen sköts automatiskt. När detta gränssnitt är implementerat kan ett annat gränssnitt SqlProvider också implementeras som har en metod som kallas getSql(). Den här metoden är användbar för att tillhandahålla sql-strängar till JdbcTemplate. Den hanterar inte SQLExceptions.
63) Vad är SQLProvider?
SQLProvider har bara en metod som anropas getSql()
och det implementeras med PreparedStatementCreator genomförare. Den används främst för felsökning.
64) Skriv om BatchPreparedStatementSetter?
BatchPreparedStatementSetter används för att uppdatera mer än en enda rad på en gång, de kan använda BatchPreparedStatementSetter. Detta gränssnitt tillhandahåller två metoder som de är
- setValues( PreparedStatement ps, int i) kastar SOL-undantag
- int getBatchSize
65) Vilken är den bästa metoden att använda JDBC på våren?
Om JDBC används med mallklassen JdbcTemplate ger det bättre prestanda.
66) Vilka undantag använder DAO-klasserna i springkast?
På våren kastar DAO-klasser bara SQLException.
67) Förklara fördelarna med att använda DAO-modulen?
Databaskoden kan hållas ren och enkel genom att använda DAO-modulen. Detta hjälper till att förhindra problem som uppstår på grund av dålig hantering av stängningar av databasresurser. Dessutom använder DAO-modulen AOP-modulen för att möjliggöra för objekt i Spring-applikationen att använda transaktionshanteringstjänster.
68) Nämn de betydande ApplicationContext-implementeringarna som används i vårens ramverk?
De är:
- ClassPathXmlApplicationContext
- FileSystemXmlApplicationContext
- XmlWebApplicationContext
69) Hur läggs en böna till i 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öntaggen har ett ID-attribut som lagrar bönnamnet och ett klassattribut som anger det fullständiga klassnamnet.
70) Vad är ORM-integrationsmoduler?
Verktyget för objekt/relationell kartläggning (ORM) stöds av Spring over straight JDBC genom att implementera ORM-modulen. Spring kan ansluta sig till olika viktiga ORM-ramverk, inklusive JDO, iBATIS SQL Maps och Hibernate.
71) Nämn och förklara vilka typer av råd under våren?
Typer av råd är:
- Innan råd: Råd som utförs före en joinpoint kallas "före råd".
- Efter att ha returnerat råd: Råd som exekveras efter det normala slutförandet av en joinpoint kallas "efter returråd".
- Efter att ha kastat råd: Råd som endast exekveras om en metod avslutas på ett onormalt sätt genom att kasta ett undantag, kallas "efter kastningsråd".
- Efter (äntligen) råd: Råd som utförs oavsett hur en joinpoint går ut kallas "efter slutligen råd".
- Runt råd: Råd som gränsar till en kopplingspunkt, till exempel en metodanrop, kallas ett "around-råd". Detta kan användas för att utföra speciella aktiviteter före och efter anropandet av metoden.
72) Vad är webbmodulen?
Webbmodulen möjliggör skapandet av en webbapplikation utan XML. Web.xml-filen måste konfigureras för att använda webbmodulen.
73) Vad är DataAccessException?
DataAccessException är ett RuntimeException. Det är ett okontrollerat undantag. Användaren kan inte tvingas hantera den här typen av undantag.
74) Vad är XMLBeanFactory?
Spring inkluderar flera tillämpningar av Bean Factory. Av dessa är org.springframework.beans.factory.xml.XmlBeanFactory en mycket viktig sådan. Den laddar bönorna på basis av definitionerna lagrade i en XML-fil. För att skapa en XmlBeanFactory skickas en java.io.InputStream till konstruktorn. InputStream tillhandahåller XML till fabriken. Till exempel, för att hämta bönan, anropas getBean()-metoden genom att skicka namnet på den önskade bönan.
MyBean helloBean = (MyBean) factory.getBean("helloBean");
75) Namnge undantagsklassen som är kopplad till de undantag som applikationerna skapar?
Det är DataAccessException som ges av org.springframework.dao.DataAccessException
76) Nämn typerna av lOC (beroendeinjektion)?
De olika typerna av loC är: –
- Setter Injection: Med hjälp av JavaBönans egenskaper.
- Konstruktörsinjektion: Beroenden ges i form av konstruktorparametrar.
- Interface Injection: Med hjälp av ett gränssnitt utförs en Injektion.
Av dessa tre är det bara konstruktion och seter som används under våren.
77) Vilka är de viktiga livscykelmetoderna för bönorna?
Sammantaget finns det två livscykelmetoder för bönor. Den första metoden är installationsmetoden som anropas när bönan laddas i behållaren. Den andra är när bönan lossas från behållaren, och denna metod kallas rivning.
78) Hur kan standardlivscykelmetoderna för bönor omintetgöras?
Taggen, bean, har två användbara attribut som kan användas för att definiera speciella initialiserings- och destruktionsmetoder.
Till exempel kan två nya metoder för Setup och forTeardown läggas till Foo-klassen på följande sätt:
<beans> <bean id="bar" init-method="forSetup" destroy="forTeardown"/> </beans>
79) Vad är en Target?
Ett mål är den klass som rekommenderas. Denna klass kan antingen vara en klass som vi vill lägga till ett speciellt beteende till eller en tredje parts klass. Målklassen är fri att koncentrera sig på sitt största problem med hjälp av AOP-koncepten, oavsett råd som tillämpas.
80) Förklara termen proxy?
Termen proxy avser ett objekt som produceras genom tillämpning av ett råd till målobjektet.
81) Vad är övergripande oro och oro i vårens AOP?
- Övergripande oro: Det är ett problem som gäller genom hela ansökan och det påverkar hela ansökan. Säkerhet, loggning och dataöverföring är t.ex. de problem som behövs i nästan varje modul i en applikation.
- Oro: Bekymmer är ett beteende som vi vill ha i en modul av en applikation. Frågor som vi är intresserade av definierar vår oro.
Dessa intervjufrågor kommer också att hjälpa dig i din viva (orals)