80 hlavních jarních otázek k pohovoru MVC (2025)

Zde jsou otázky a odpovědi jarního pohovoru MVC pro čerstvější i zkušené kandidáty, aby získali svou vysněnou práci.

 

Otázky a odpovědi jarního rozhovoru MVC pro Freshers

1) Co je to pružina?

Jaro je nastaveno jako rámec, který pomáhá Java programátor pro vývoj kódu a poskytuje IOC kontejner, Dependency Injector, MVC flow a mnoho dalších API pro java programátora.


2) Jaké jsou rady na jaře?

Je to provedení aspektu. Rada je jako přimět vaši aplikaci naučit se nový trik. Obvykle se zavádějí na spojovacích bodech.

👉 Zdarma ke stažení PDF: Otázky a odpovědi Spring MVC Framework Interview


3) Jaký je výchozí rozsah bean v rámci Spring?

Výchozí rozsah bean je Singleton for Spring framework.


4) Vyjmenujte typy správy transakcí, které Spring podporuje?

Správa transakcí podporovaná Springem jsou:

  • Deklarativní řízení transakcí.
  • Programatická správa transakcí.

5) Jsou fazole Singleton bezpečné v Spring Frameworku?

Ne, fazole singleton nejsou v rámci Spring bezpečné pro vlákna.


6) Jaké jsou výhody Spring Frameworku?

Níže jsou uvedeny výhody Jarní rámec:

  • Rozsáhlé používání komponent
  • Opakovatelnost
  • Oddělení
  • Snižuje úsilí při kódování pomocí implementací vzorů, jako je singleton, továrna, lokátor služeb atd.
  • Odstranění netěsných spojů
  • Deklarativní řízení transakcí
  • Snadná integrace s nástroji a technologiemi třetích stran.

Otázky jarního pohovoru MVC
Otázky jarního pohovoru MVC


7) Co je to Bean Factory?

Bean Factory je jádrem pružinového rámce a je to lehký kontejner, který načítá definice fazolí a spravuje vaše fazole. Beany se konfigurují pomocí souboru XML a spravují jednotlivé fazole definované. Je také zodpovědný za metody životního cyklu a vstřikuje závislosti. Odstraňuje také adhoc singletony a továrny.


8) Definujte Bean Wiring?

Zapojení fazolí je vytvoření spojení mezi komponentami aplikace, které jsou mezi fazolemi v konkrétní jarní nádobě.


9) Co se nazývá Spring MVC?

Spring MVC je jediná sdílená instance řadiče a používá se ke zpracování řadičů typu požadavku, interceptorů, které běží v IoC kontejneru. Umožňuje také více servletů Dispatcher, které mohou sdílet kontextové rozhraní aplikace, ale ne rozhraní založené na třídách.


10) Proč je potřeba Spring framework?

Jarní rámec je potřebný, protože je –

  • Velmi lehký kontejner
  • Rámec
  • IOC
  • PDO

11) Vyjmenujte různé moduly používané v jarním frameworku?

  • Modul AOP (Aspect Oriented Programming)
  • JDBC abstrakce a DAO modul
  • Modul Core container
  • Modul rámce MVC
  • Modul kontextu aplikace
  • Integrační modul O/R mapování (objektový/relační)
  • Webový modul

12) Vysvětlete RowCallbackHandler na jaře?

RowCallbackHandler se volá pro každý řádek v ResultSet a používá se ke čtení hodnot z ResultSet.


13) Definovat kontextový modul aplikace?

Jedná se o velmi důležitý modul a poskytuje různé potřebné služby, jako je integrace EJB, vzdálená komunikace, přístup a plánování JNDI. Přeměňuje jaro na kostru. Rozšiřuje také myšlenku BeanFactory aplikací událostí životního cyklu, poskytuje podporu pro internacionalizační zprávy a ověřování.


14) Napište o modulu AOP?

Modul AOP se používá pro vytváření aspektů pro aplikace Spring. Umožňuje také podporu programování metadat ve Springu.


15) Co je rozhraní BeanFactory?

Rozhraní Bean factory se používá k poskytování konfiguračního rámce pro vytváření objektů a základních funkcí kolem správy objektů.


16) Uveďte rozdíly mezi ApplicationContext a BeanFactory na jaře?

  • ApplicationContext umožňuje existenci více než jednoho konfiguračního souboru, zatímco BeanFactory povoluje pouze jeden.
  • ApplicationContext může tisknout události na beany registrované jako posluchači. Tato funkce není podporována BeanFactory.
  • ApplicationContext také poskytuje podporu pro aplikaci událostí životního cyklu, internacionalizačních zpráv a ověřování a také poskytuje služby, jako je integrace EJB, vzdálená komunikace, přístup a plánování JNDI. Tyto funkce také nejsou podporovány Bean Factory.

17) Co je automatické zapojení?

Autowiring se používá k budování vztahů mezi spolupracujícími fazolemi. Jarní kontejner dokáže automaticky rozlišit spolupracovníky pro fazole.


18) Jaké jsou různé režimy automatického zapojení?

Autowiring má pět různých režimů:

  • no: žádný autowire
  • podle jména: Autowiring, který lze provést podle názvu vlastnosti
  • podle typu: typ vlastnosti jako autowired
  • konstruktér: Je podobný byType a jeho vlastnost je v konstruktoru
  • auto detekce: Spring může vybrat automatické zapojení z byType nebo konstruktoru

19) Jak začít používat pružinu?

Chcete-li začít s jarem, je třeba provést následující kroky:

  • Stáhněte si Spring a jeho závislý soubor ze stránek jara.
  • Vytvořte kontextový xml aplikace pro definování beanů a jejich závislostí
  • Integrujte kontext aplikace xml s web.xml
  • Nasaďte a spusťte aplikaci

20) Jaké jsou metody životního cyklu fazolí?

Existují dvě důležité metody životního cyklu Bean:

  • Nastavení – volá se, když je zrnko naloženo do kontejneru
  • Teardown – volá se, když je fazole vyložena do kontejneru

21) Jaké jsou různé typy událostí posluchačů?

Níže jsou uvedeny různé typy událostí posluchačů:

  • ContextClosedEvent – Tato událost je volána, když je kontext uzavřen.
  • ContextRefreshedEvent – Tato událost je volána při inicializaci nebo aktualizaci kontextu
  • RequestHandledEvent – Tato událost je volána, když webový kontext zpracovává požadavek

22) Rozdíl mezi singletonem a prototypem bean?

Singleton znamená, že pro každou instanci objektu je definován pouze jeden bean, zatímco Prototype znamená jednu definici pro více než jednu instanci objektu v Spring.


23) Jaké jsou typy Dependency Injection?

Jarní rámec podporuje dva typy vstřikování závislostí:

  • Setter Injection
  • Konstrukční vstřikování

24) Napsat o modulu Core kontejner?

Modul jádrového kontejneru je zodpovědný za základní funkčnost pružinového rámce. Celý Spring framework je postaven s tímto modulem jako základem.


25) Co je modul AOP?

Tento modul AOP se používá pro pružinové aplikace. Byla poskytována podpora aliance AOP pro zajištění interoperability mezi pružinou a jinými rámci AOP.

Instruuje pružinu, aby přidala anotace do zdrojového kódu a řekla, jak aplikovat aspekty.


Jarní otázky k pohovoru MVC pro zkušené

26) Co je AOP Alliance?

AOP alliance je open-source projekt, který je zaměřen na podporu přijetí AOP. Cílem aliance AOP je definovat společnou sadu komponent a rozhraní, aby se zlepšila interoperabilita mezi různými implementacemi AOP.


27) Co se nazývá konfigurační soubor pružin?

Konfigurační soubor Spring je soubor XML a obsahuje informace o třídě. Také popisuje, jak jsou tyto třídy nakonfigurovány a jak se vzájemně ovlivňují.


28) Jaké jsou různé typy Autowire?

Existují čtyři různé typy automatického drátu:

  • podle jména
  • podleTypu
  • konstruktérem
  • Autodetect

29) Jaké jsou typy řízení transakcí, které jaro podporuje?

Níže jsou uvedeny typy správy transakcí, které jaro podporuje:

  • deklarativní
  • programově

30) Kdy se používá deklarativní a programové řízení transakcí?

Pokud existuje pouze malé množství transakčních operací, doporučuje se použít programovou správu transakcí. Pokud je však potřeba zajistit velké množství transakčních operací, dává se přednost deklarativnímu řízení transakcí.


31) Co je MOV?

IOC (Inversion of Control pattern) je také známý jako dependency injection. IOC nařizuje programátorům, aby znázornili, jak objekty vytvářet, místo aby je skutečně vytvářeli. Ale v tomto návrhovém vzoru byla tato kontrola dána assembleru a assembler v případě potřeby vytvoří instanci požadované třídy.


32) Napište o různých typech událostí souvisejících s posluchačem?

Různé typy událostí souvisejících s posluchači jsou:

  • ContextRefreshedEvent – Toto se volá, když je kontext aktualizován nebo inicializován.
  • RequestHandledEvent – Toto se volá, když webový kontext zpracovává požadavek.
  • ContextClosedEvent – Toto se zavolá, když se kontext uzavře.

33) Co je to aspekt?

Aspekt se také nazývá protokolování, které je vyžadováno v celé aplikaci. Protokolování nebo aspekt je průřezová funkce v aplikaci používající AOP.


34) Co je to společný bod?

Bod, kde lze do aplikace zavést aspekt, se nazývá spojovací bod. Tímto bodem může být modifikované pole, volaná metoda nebo dokonce vyvolání výjimky. V těchto bodech lze přidat kód nového aspektu a zavést do aplikace nové chování.

Kód aspektu lze v tomto bodě vložit do normálního toku aplikace a změnit aktuální chování.


35) Co se nazývá rada?

Rada řekne aplikaci o novém chování a je to implementace aspektu. Vloží se do aplikace ve spojovacím bodě.

Rada je implementace aspektu. Je to něco jako říct své aplikaci nové chování. Obecně se doporučení vkládá do aplikace na spojovacích bodech.


36) Co je to Pointcut?

Pointcut se používá k povolení, kde lze radu použít.


37) Co je to tkaní?

Weaving se používá k vytvoření nového proxy objektu aplikováním aspektů na cílový objekt.


38) Jaký je rozdíl mezi singletonem a prototypem bean?

Singleton Bean – Definice jednoho beanu do jedné instance objektu na kontejner Spring IOC

Prototyp Bean – Definice jednoho prvku bean pro libovolný počet instancí objektů na kontejner Spring IOC


39) V jakých bodech lze použít tkaní?

Níže jsou uvedeny body, kde lze tkaní použít:

  • Čas kompilace
  • Doba načítání třídy
  • Runtime

40) Jaké jsou různé typy AutoProxying?

Níže jsou uvedeny různé typy AutoProxying:

  • BeanNameAutoProxyCreator
  • DefaultAdvisorAutoProxyCreator
  • Autoproxying metadat

41) Jak lze vyrobit fazole singleton nebo prototyp?

Značka fazole má atribut nazvaný 'singleton'. Fazole je jediná, pokud je její hodnota 'PRAVDA', jinak je fazole prototyp.


42) Jaké třídy se používají ke kontrole připojení k databázi?

Níže jsou uvedeny třídy, které se používají k řízení připojení k databázi:

  • Data Source Utils
  • Zdroj SmartData
  • Abstraktní zdroj dat
  • SingleConnection DataSource
  • DriverManager DataSource
  • TransactionAware DataSourceProxy
  • DataSource TransactionManager

43) Popište o DAO v rámci Spring?

DAO se používá k zajištění integrace Java databázová konektivita a objekty objektového relačního mapování. DAO je jarní rámec poskytuje připojení pro JDBC, hibernaci, JDO, JPA, společné klientské rozhraní a Oracle.


44) Co je Autoproxying?

Autoproxying se používá k automatickému vytvoření proxy pro uživatele Spring. Poskytuje následující dvě třídy pro podporu tohoto automatického vytváření proxy:

  • BeanNameAutoProxyCreator
  • DefaultAdvisorAutoProxyCreator

45) Co je to Metadata Autoproxying?

Metadata Autoproxying může být inspirativní, což může být řízeno metadaty. To je určeno atributy na úrovni zdroje a uchovává metadata uvnitř zdrojového kódu.

To udržuje metadata na jednom místě a používá se hlavně pro podporu deklarativních transakcí.


46) Co je to „rada hodí“ na jaře?

'Throws Advice' definuje chování, když dojde k výjimce. Je to rozhraní a nemá žádné metody, které je třeba implementovat.

Třída, která implementuje toto rozhraní, by měla mít metodu s tímto podpisem:

  • Void samplethrow (Throw tablet)
  • Void samplethrow (Metoda m, Object[] o, Object target, Throw tablet)

47) Jaké jsou různé editory používané v jarních pracích?

Různé vlastní editory poskytované Spring Frameworkem jsou:

  • PropertyEditor
  • URLEditor
  • ClassEditor
  • CustomDateEditor
  • FileEditor
  • LocaleEditor
  • StringArrayPropertyEditor
  • StringTrimmerEditor

48) Jaké jsou výhody pružinového rámce?

Níže jsou uvedeny výhody pružinového rámce:

  • Vrstvy Architecture
  • Umožňuje Plain Old Java Objektové (POJO) programování a umožňuje průběžnou integraci a testovatelnost
  • Dependency Injection a Inversion of Control, které zjednodušují JDBC
  • Open source framework, který lze použít pro komerční účely

49) Jak je přístup k Hibernate pomocí rozhraní Spring?

Hibernace je přístupná dvěma způsoby:

  • Od IOC se šablonou Callback a Hibernate.
  • Použitím AOP Interceptoru a rozšířením HibernateDaoSupport.

50) Jaké různé kanály podporuje Spring 2.0?

Níže jsou uvedeny kanály podporované jarní verzí 2.0:

  • Kanál s možností dotazování
  • Přihlašovatelný kanál
  • Publikovat kanál odběru
  • Kanál fronty
  • Prioritní kanál
  • Kanál Rendezvous
  • Přímý kanál
  • Exekutorský kanál
  • Scoped Channel

Jarní otázky k pohovoru MVC pro více než 5 let zkušeností

51) Proč je na jaře preferováno řízení deklarativních transakcí?

Deklarativní správa transakcí má minimální dopad na kód aplikace, a proto je idealistickým odlehčeným kontejnerem.


52) Vysvětlete pojem BeanFactory?

BeanFactory aplikuje myšlenku továrního vzoru, který využívá IOC k oddělení závislostí a konfigurace aplikace od skutečného kódu.


53) Jaké jsou různé rozsahy jarních fazolí?

Rozsahy jarních fazolí jsou Singleton, prototyp, požadavek, relace a globální relace.


54) Jaké jsou všechny způsoby přístupu k Hibernate pomocí Spring?

Existují dva způsoby, jak získat přístup k hibernaci pomocí pružiny:

  • Inverze ovládání pomocí šablony hibernace a zpětného volání
  • Rozšíření podpory HibernateDAOS a použití uzlu AOP Interceptor.

55) Jak lze integrovat aplikaci vzpěr s pružinou?

Existují dvě možnosti použití vzpěr, které lze integrovat s pružinou:

Konfigurace Spring pro správu fazolí pomocí pluginu ContextLoader a nastavení jejich závislostí v jarním kontextu

Chyť jarní řízené fazole výslovně pomocí agetwebapplicationcontext()


56) Co je inverze řízení (IOC)?

Inversion of Control (IOC) je také nazývána jako závislost Injection, což není nic jiného než návrhový vzor, ​​který dává ovládání assembleru tříd. Obecně třída v případě potřeby vytvoří instanci jiné třídy.

Ale v tomto návrhovém vzoru byla tato kontrola předána assembleru a assembler v případě potřeby vytvoří instanci požadované třídy.


57) Napište výhody používání IOC?

Hlavní výhody vkládání závislostí nebo IOC jsou v tom, že snižuje množství kódování potřebného pro aplikaci. To umožňuje rychlé a snadné testování aplikace, protože nejsou vyžadovány žádné vyhledávací mechanismy JNDI nebo singletony. IOC kontejnery také podporují líné nakládání a horlivou instalaci služeb.


58) Co je vnitřní fazole? Jaká je nevýhoda vnitřní fazole?

Pokud je prvek bean přímo vložen do tagu vlastnosti při zapojování fazolí, pak se fazole nazývá Inner Bean. Jeho nevýhodou je, že se nedá znovu zpracovat.


59)Jaké jsou různé typy vstřikování na jaře?

Existují tři typy injekce na jaře:

  • Setter Injection
  • Konstrukční vstřikování
  • Getter nebo Method Injection

60) Jaké jsou výhody jarního rámce?

Níže jsou uvedeny výhody jarního rámce:

  • Lehký kontejner ve srovnání s kontejnery j2EE
  • Vestavěný webový MVC framework
  • Vytváří volně propojené aplikace
  • Podporuje aspektově orientované programování, jako je protokolování, transakce a zabezpečení
  • Konfigurace ve formátu XML, který se snadno píše a je srozumitelný

61) Jaké jsou typy poradenství?

Existuje pět typů rad:

  • Před radou
  • Po návratu radu
  • Po vhození rady
  • Konečně rada
  • Kolem rady

62) Co se nazývá Připravené prohlášeníCreator?

Připravené prohlášeníCreator je jedním z nejčastěji používaných rozhraní pro zápis dat do databáze. createPreparedStatement() je metoda, kterou lze použít k vytvoření a vrácení PreparedStatement z argumentu Connection a o zpracování výjimek je postaráno automaticky. Když je toto rozhraní implementováno, může být také implementováno jiné rozhraní SqlProvider, které má metodu nazvanou getSql(). Tato metoda je užitečná pro poskytování řetězců SQL do šablony JdbcTemplate. Nezpracovává SQLExceptions.


63) Co je SQLProvider?

SQLProvider má pouze jednu volanou metodu getSql() a je implementován pomocí PreparedStatementCreator realizátory. Používá se hlavně pro ladění.


64) Napsat o BatchPreparedStatementSetter?

BatchPreparedStatementSetter se používá k aktualizaci více než jednoho řádku najednou, mohou použít BatchPreparedStatementSetter. Toto rozhraní poskytuje dvě metody

  • setValues( PreparedStatement ps, int i) vyvolá výjimku SOL
  • int getBatchSize

65) Jaký je lepší způsob použití JDBC na jaře?

Pokud se JDBC používá s třídou šablon nazvanou JdbcTemplate, poskytuje lepší výkon.


66) Jaké výjimky používají třídy DAO v Spring throw?

Na jaře třídy DAO vyvolávají pouze výjimku SQLException.


67) Vysvětlete výhody použití modulu DAO?

Kód databáze lze udržovat čistý a jednoduchý pomocí modulu DAO. To pomáhá předcházet problémům, které vznikají kvůli špatnému zacházení s uzavřením databázových zdrojů. Modul DAO také využívá modul AOP, aby umožnil objektům v aplikaci Spring používat služby správy transakcí.


68) Vyjmenujte významné implementace ApplicationContext používané v jarním rámci?

Jedná se o:

  • ClassPathXmlApplicationContext
  • FileSystemXmlApplicationContext
  • XmlWebApplicationContext

69) Jak se do jarní aplikace přidává fazole?

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

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

<beans>

<bean id="foo"/>

<bean id="bar"/>

</beans>

Značka bean má atribut ID, který ukládá název bean, a atributy třídy, které specifikují úplný název třídy.

70) Co jsou moduly integrace ORM?

Nástroj pro objektové/relační mapování (ORM) podporuje Spring over straight JDBC implementací modulu ORM. Spring se může připojit k různým důležitým ORM frameworkům, včetně JDO, iBATIS SQL Maps a Hibernate.


71) Zmínit a vysvětlit druhy Rady na jaře?

Typy rad jsou:

  • Před radou: Rada, která se provádí před bodem spojení, se nazývá „před radou“.
  • Po návratu rada: Rada, která je provedena po normálním dokončení spojovacího bodu, se nazývá „pokyn po vrácení“.
  • Po vhození rady: Rada, která se provede pouze v případě, že metoda skončí abnormálně vyvoláním výjimky, se nazývá 'po vhození rady'.
  • Po (konečně) radě: Rada, která se provádí bez ohledu na to, jak bod spojení skončí, se nazývá „po konečné radě“.
  • Okolo rady: Rada, která hraničí se spojovacím bodem, například vyvolání metody, se nazývá „rada kolem“. Toho lze využít k provádění speciálních činností před a po vyvolání metody.

72) Co je webový modul?

Webový modul umožňuje vytvoření webové aplikace bez XML. Soubor web.xml je třeba nakonfigurovat pro použití webového modulu.


73) Co je DataAccessException?

DataAccessException je RuntimeException. Je to nekontrolovaná výjimka. Uživatel nemůže být nucen zpracovávat tyto druhy výjimek.


74) Co je XMLBeanFactory?

Spring zahrnuje několik aplikací Bean factory. Z nich je velmi důležitý org.springframework.beans.factory.xml.XmlBeanFactory. Načte fazole na základě definic uložených v souboru XML. Pro vytvoření XmlBeanFactory je konstruktoru předán java.io.InputStream. InputStream poskytuje továrně XML. Například pro načtení fazole se zavolá metoda getBean() předáním názvu požadovaného fazole.

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

75) Pojmenujte třídu Exception, která je spojena s výjimkami vyvolanými aplikacemi?

Je to výjimka DataAccessException daná org.springframework.dao.DataAccessException


76) Uveďte typy lOC (dependency injection)?

Různé typy loC jsou: –

  • Vstřikování setr: S pomocí JavaVlastnosti fazolí.
  • Vstřikování konstruktoru: Závislosti jsou uvedeny ve formě parametrů konstruktoru.
  • Vstřikování rozhraní: Pomocí rozhraní se provádí Injekce.

Z těchto tří se na jaře používá pouze konstrukce a seřizovač.


77) Jaké jsou důležité metody životního cyklu fazolí?

Celkově existují dvě metody životního cyklu fazolí. První metodou je metoda nastavení, která se volá během nakládání fazole do kontejneru. Druhá je, když se fazole vyloží z kontejneru a tato metoda se nazývá trhání.


78) Jak lze zrušit výchozí metody životního cyklu fazolí?

Značka, bean, má dva užitečné atributy, které lze použít k definování speciálních metod inicializace a destrukce.

Například dvě nové metody forSetup a forTeardown lze přidat do třídy Foo následujícím způsobem:

<beans>

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

</beans>

79) Co je to Target?

Cíl je třída, která je doporučena. Tato třída může být buď třídou, do které chceme přidat speciální chování, nebo třídou třetí strany. Cílová třída se může volně soustředit na svůj hlavní problém pomocí konceptů AOP, bez ohledu na jakoukoli radu, která je aplikována.


80) Vysvětlete pojem Proxy?

Termín proxy odkazuje na objekt, který je vytvořen aplikací rady na cílový objekt.


81) Jaké jsou průřezové obavy a obavy v jarním AOP?

  • Zájem o průřezy: Jde o problém, který se vztahuje na celou aplikaci a ovlivňuje celou aplikaci. Např. bezpečnost, protokolování a přenos dat jsou záležitosti, které jsou potřeba v téměř každém modulu aplikace.
  • Znepokojení: Concern je chování, které chceme mít v modulu aplikace. Problémy, které nás zajímají, definují naše obavy.

Tyto otázky na pohovoru také pomohou ve vašem životě (ústních)