Top 80 de întrebări pentru interviu MVC de primăvară (2025)
Iată întrebările și răspunsurile la interviul Spring MVC pentru candidații mai proaspeți, dar și cu experiență, pentru a obține jobul visat.
Întrebări și răspunsuri la interviu MVC de primăvară pentru cei proaspăt
1) Ce este un izvor?
Primăvara este setat să fie un cadru care ajută Java programator pentru dezvoltarea codului și oferă container IOC, Dependency Injector, flux MVC și multe alte API-uri pentru programatorul java.
2) Care sunt sfaturile de primăvară?
Este execuția unui aspect. Sfatul este ca și cum ați face aplicația dvs. să învețe un truc nou. Ele sunt de obicei introduse la punctele de unire.
👉 Descărcare PDF gratuită: Întrebări și răspunsuri la interviu Spring MVC Framework
3) Care este domeniul de aplicare implicit al bean-ului în cadrul Spring?
Domeniul implicit de aplicare al bean-ului este Singleton pentru cadru Spring.
4) Numiți tipurile de gestionare a tranzacțiilor care sunt acceptate de Spring?
Managementul tranzacțiilor susținut de Spring sunt:
- Managementul declarativ al tranzacțiilor.
- Managementul tranzacțiilor programatice.
5) Fasolea Singleton este sigură pentru fire în Spring Framework?
Nu, boabele singleton nu sunt sigure pentru fire în cadrul Spring.
6) Care sunt beneficiile Spring Framework?
Următoarele sunt beneficiile cadru de primăvară:
- Utilizarea extensivă a componentelor
- Abilitatea de Reus
- Decuplare
- Reduce efortul de codare prin utilizarea implementărilor de modele, cum ar fi singleton, factory, service locator etc.
- Îndepărtarea conexiunilor cu scurgeri
- Managementul declarativ al tranzacțiilor
- Ușor de integrat cu instrumente și tehnologii terțe.
7) Ce este Fabrica de fasole?
Bean Factory este nucleul cadrului de primăvară și este un container ușor care încarcă definițiile boabelor și gestionează boabele. Bean-urile sunt configurate folosind fișierul XML și gestionează bean-ul definit singleton. De asemenea, este responsabil pentru metodele ciclului de viață și injectează dependențe. De asemenea, elimină singleton-urile și fabricile ad-hoc.
8) Definiți cablarea Bean?
Cablajul de fasole este crearea de asocieri între componentele aplicației care se află între boabele dintr-un anumit recipient cu arc.
9) Ce se numește Spring MVC?
Un Spring MVC este o singură instanță de controler partajată și este folosit pentru a gestiona controlere de tip cerere, interceptoare care rulează în containerul IoC. De asemenea, permite mai multe Servlet-uri Dispatcher care pot partaja interfața contextului aplicației, dar nu interfața bazată pe clasă.
10) De ce este nevoie de un cadru Spring?
Cadrul de primăvară este necesar pentru că este -
- Container foarte ușor
- Cadru
- IOC
- AOP
11) Numiți diferitele module utilizate în cadrul de primăvară?
- Modul AOP (programare orientată pe aspecte)
- Abstracție JDBC și modul DAO
- Modulul containerului Core
- Modul cadru MVC
- Modulul context al aplicației
- Modul de integrare mapare O/R (Obiect/Relațional)
- Modul web
12) Explicați RowCallbackHandler în primăvară?
RowCallbackHandler este apelat pentru fiecare rând din ResultSet și este folosit pentru a citi valorile din ResultSet.
13) Definiți modulul de context al aplicației?
Acesta este un modul foarte important și furnizează diverse servicii necesare, cum ar fi integrarea EJB, telecomandarea, accesul JNDI și programarea. Transformă primăvara într-un cadru. De asemenea, extinde ideea de BeanFactory prin aplicarea evenimentelor ciclului de viață, oferind suport pentru mesajele de internaționalizare și validare.
14) Scrieți despre modulul AOP?
Modulul AOP este utilizat pentru a crea aspecte pentru aplicațiile Spring. De asemenea, permite suportul pentru programarea metadatelor în Spring.
15) Ce este o interfață BeanFactory?
Interfața Bean Factory este utilizată pentru a oferi cadrul de configurare pentru crearea de obiecte și funcționalitatea de bază în jurul managementului obiectelor.
16) Spuneți diferențele dintre ApplicationContext și BeanFactory în primăvară?
- ApplicationContext permite să existe mai mult de un fișier de configurare, în timp ce BeanFactory permite doar unul.
- ApplicationContext poate imprima evenimente pe bean-urile înregistrate ca ascultători. Această caracteristică nu este acceptată de BeanFactory.
- ApplicationContext oferă, de asemenea, suport pentru aplicarea evenimentelor ciclului de viață, mesaje de internaționalizare și validare și oferă, de asemenea, servicii precum integrarea EJB, telecomandarea, accesul JNDI și programarea. Nici aceste caracteristici nu sunt acceptate de Bean Factory.
17) Ce este cablarea automată?
Cablarea automată este folosită pentru a construi relații între fasolele colaboratoare. Containerul de primăvară poate rezolva automat colaboratorii pentru fasole.
18) Care sunt diferitele moduri de cablare automată?
Autowiring are cinci moduri diferite:
- nu: fără cablare automată
- dupa nume: Cablare automată care se poate face după numele proprietății
- de tip: tip de proprietate ca cablat automat
- constructor: Este similar cu byType și proprietatea este în constructor
- auto detectare: Spring are permisiunea de a selecta cablarea automată din byType sau constructor
19) Cum să începeți să folosiți arcul?
Pentru a începe cu primăvara, trebuie să faceți următorii pași:
- Descărcați Spring și fișierul său dependent de pe site-ul Spring.
- Creați contextul aplicației xml pentru a defini fasolea și dependențele acestuia
- Integrați contextul aplicației xml cu web.xml
- Implementați și rulați aplicația
20) Care sunt metodele ciclului de viață al fasolei?
Există două metode importante ale ciclului de viață al fasolei:
- Configurare – apelat când fasolea este încărcată în container
- Teardown – denumit atunci când fasolea este descărcată în container
21) Care sunt diferitele tipuri de evenimente ale Ascultătorilor?
Următoarele sunt diferitele tipuri de evenimente ale ascultătorilor:
- ContextClosedEvent – Acest eveniment este numit atunci când contextul este închis.
- ContextRefreshedEvent – Acest eveniment este apelat când contextul este inițializat sau reîmprospătat
- RequestHandledEvent – Acest eveniment este apelat atunci când contextul web gestionează cererea
22) Faceți diferența între fasole singleton și prototip?
Singleton înseamnă doar un singur bean este definit pentru fiecare instanță de obiect, în timp ce Prototype înseamnă o definiție pentru mai multe instanțe de obiect în Spring.
23) Care sunt tipurile de injecție a dependenței?
Două tipuri de injecție de dependență sunt suportate de cadrul cu arc:
- Setter Injectie
- Injecție de constructor
24) Scrieți despre modulul Core container?
Modulul container de bază este responsabil pentru funcționalitatea de bază a cadrului cu arc. Întregul cadru Spring este construit cu acest modul ca bază.
25) Ce este modulul AOP?
Acest modul AOP este utilizat pentru aplicații activate cu arc. A fost oferit sprijin alianței AOP pentru a asigura interoperabilitatea între Spring și alte cadre AOP.
Îi cere lui Spring să adauge adnotări la codul sursă și să spună cum să aplice aspecte.
Întrebări de primăvară la interviu MVC pentru cei cu experiență
26) Ce este Alianța AOP?
Alianța AOP este un proiect open-source care are ca scop promovarea adoptării AOP. Scopul alianței AOP este de a defini un set comun de componente și interfețe pentru a îmbunătăți interoperabilitatea între diferitele implementări AOP.
27) Ce se numește fișier de configurare arc?
Fișierul de configurare Spring este un fișier XML și conține informații despre clasă. De asemenea, descrie modul în care aceste clase sunt configurate și interacționează între ele.
28) Care sunt diferitele tipuri de Autowire?
Există patru tipuri diferite de cabluri automate:
- dupa nume
- de tip
- constructor
- auto detectare
29) Care sunt tipurile de management al tranzacțiilor care sunt susținute de primăvară?
Următoarele sunt tipurile de gestionare a tranzacțiilor care au fost susținute de primăvară:
- declarativ
- în mod programatic
30) Când se utilizează managementul declarativ și programatic al tranzacțiilor?
Când există doar o cantitate mică de operațiuni tranzacționale, se recomandă să utilizați gestionarea tranzacțiilor programatice. Dar dacă există o cantitate mare de operațiuni tranzacționale de care trebuie să se ocupe, este de preferat gestionarea declarativă a tranzacțiilor.
31) Ce este IOC?
IOC (modelul de inversare a controlului) este cunoscut și ca injecție de dependență. IOC îi îndrumă pe programatori să descrie cum să creeze obiecte în loc să le creeze efectiv. Dar în acest model de proiectare, acest control a fost dat asamblatorului și asamblatorul va instanția clasa necesară, dacă este necesar.
32) Scrieți despre diferitele tipuri de evenimente legate de Ascultător?
Diferitele tipuri de evenimente legate de ascultători sunt:
- ContextRefreshedEvent – Acesta este apelat atunci când contextul este reîmprospătat sau inițializat.
- RequestHandledEvent – Acesta este apelat atunci când contextul web gestionează o solicitare.
- ContextClosedEvent – Acesta este apelat când contextul se închide.
33) Ce este un aspect?
Aspect este, de asemenea, numit ca înregistrare, care este necesară în întreaga aplicație. Înregistrarea sau aspectul este o funcționalitate transversală într-o aplicație care utilizează AOP.
34) Ce este un Joinpoint?
Punctul în care un aspect poate fi introdus în aplicație este cunoscut sub numele de punct de legătură. Acest punct ar putea fi un câmp în curs de modificare, apelarea unei metode sau chiar aruncarea unei excepții. În aceste puncte, codul noului aspect poate fi adăugat pentru a introduce un nou comportament în aplicație.
Codul de aspect poate fi inserat în acest moment în fluxul normal al aplicației pentru a schimba comportamentul curent.
35) Ce se numește un sfat?
Sfatul va spune aplicației cu privire la un comportament nou și este implementarea unui aspect. Este inserat într-o aplicație la punctul de unire.
Sfatul este implementarea unui aspect. Este ceva ca să-ți spui aplicarea unui nou comportament. În general, sfaturile sunt introduse într-o aplicație la punctele de legătură.
36) Ce este un Pointcut?
Pointcut este folosit pentru a permite locul unde pot fi aplicate sfaturile.
37) Ce este țesutul?
Weaving este folosit pentru a crea un nou obiect proxy prin aplicarea aspectelor obiectului țintă.
38) Care este diferența dintre fasole singleton și prototip?
Fasole Singleton – Definirea unui singur bean pentru o singură instanță de obiect per container Spring IOC
Prototip de fasole – Definiție unică bean pentru orice număr de instanțe de obiect per container Spring IOC
39) În ce puncte se poate aplica țesutul?
Următoarele sunt punctele în care se poate aplica țesutul:
- Timp de compilare
- Timpul de încărcare a clasei
- Runtime
40) Care sunt diferitele tipuri de AutoProxying?
Următoarele sunt diferitele tipuri de AutoProxying:
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
- Autoproxyarea metadatelor
41) Cum pot fi făcute boabele singleton sau prototip?
Eticheta de fasole are un atribut numit „singleton”. Fasolea este singleton dacă valoarea sa este „adevărată”, în caz contrar, fasolea este un prototip.
42) Ce clase sunt folosite pentru a controla conexiunea la baza de date?
Următoarele sunt clasele care sunt utilizate pentru a controla conexiunea la baza de date:
- Utilaje surse de date
- Sursa SmartData
- Sursă de date abstracte
- Sursă de date SingleConnection
- Sursa de date DriverManager
- TransactionAware DataSourceProxy
- DataSource TransactionManager
43) Descrieți despre DAO în cadrul Spring?
DAO este folosit pentru a furniza integrarea Java conectivitate la baza de date și obiecte de mapare relațională obiect. DAO este un cadru de primăvară care oferă conexiune pentru JDBC, hibernare, JDO, JPA, interfață client comună și Oracle.
44) Ce este Autoproxing-ul?
Autoproxing-ul este folosit pentru a crea automat proxy pentru utilizatorii de primăvară. Acesta oferă următoarele două clase pentru a sprijini această creare automată de proxy:
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
45) Ce este Metadate Autoproxying?
Metadate Autoproxying poate fi realizat inspirator, care poate fi condus de metadate. Acest lucru este determinat de atributele la nivel de sursă și păstrează metadatele în codul sursă.
Aceasta menține metadatele într-un singur loc și este folosită în principal pentru suportul declarativ pentru tranzacții.
46) Ce este „Sfatul aruncării” în primăvară?
„Throws Advice” definește comportamentul atunci când apare o excepție. Este o interfață și nu are metode care să fie implementate.
O clasă care implementează această interfață ar trebui să aibă o metodă cu această semnătură:
- Void samplethrow (Aruncare tabletă)
- Void samplethrow (Metoda m, Object[] o, Object target, Throw tablet)
47) Care sunt diferitele editori folosite în munca de primăvară?
Diferiții editori personalizați furnizați de Spring Framework sunt:
- PropertyEditor
- URLEditor
- Editor de clasă
- CustomDateEditor
- FileEditor
- LocaleEditor
- StringArrayPropertyEditor
- StringTrimmerEditor
48) Care sunt avantajele cadrului cu arc?
Următoarele sunt avantajele cadrului cu arc:
- Layered Architectură
- Activează Plain Old Java Programare obiect (POJO) și permite integrarea continuă și testabilitatea
- Injecția de dependență și inversarea controlului care simplifică JDBC
- Cadru open source care poate fi utilizat în scopuri comerciale
49) Cum este accesat Hibernate folosind cadrul Spring?
Hibernare poate fi accesat în următoarele două moduri:
- Prin IOC cu un Callback și HibernateTemplate.
- Prin aplicarea unui AOP Interceptor și extinderea HibernateDaoSupport.
50) Care sunt diferitele canale suportate de Spring 2.0?
Următoarele sunt canalele acceptate de versiunea Spring 2.0:
- Canal pollabil
- Canal abonabil
- Publicați Abonați-vă la canal
- Canal de coadă
- Canal prioritar
- Canalul de întâlnire
- Canal direct
- Canalul executorului
- Canal cu scop
Întrebări de interviu MVC de primăvară pentru 5+ ani de experiență
51) De ce este preferată administrarea declarativă a tranzacțiilor în primăvară?
Managementul declarativ al tranzacțiilor are un impact minim asupra codului aplicației și, prin urmare, este un container ușor idealist.
52) Explicați conceptul de BeanFactory?
BeanFactory aplică ideea unui model de fabrică care utilizează IOC pentru a separa dependențele și configurația aplicației de codul real.
53) Care sunt diferitele domenii ale fasolei de primăvară?
Domeniile de aplicare ale fasolei de primăvară sunt Singleton, prototip, cerere, sesiune și sesiune globală.
54) Care sunt toate modalitățile de a accesa Hibernate folosind Spring?
Există două moduri de a accesa hibernarea folosind Spring:
- Inversarea controlului cu un șablon Hibernate și apel invers
- Extinderea suportului HibernateDAOS și aplicarea unui nod AOP Interceptor.
55) Cum poate fi integrată aplicarea barelor cu arc?
Există două opțiuni pentru aplicarea barelor care pot fi integrate cu arc:
Configurarea Spring pentru a gestiona boabele folosind pluginul ContextLoader și pentru a seta dependențele acestora într-un fișier context Spring
Luați fasole administrată de primăvară folosind explicit agetwebapplicationcontext()
56) Ce este inversarea controlului (IOC)?
Inversia controlului (IOC) este numită și injecție de dependență, care nu este altceva decât un model de proiectare care oferă control asamblatorului claselor. În general, clasa va instanția o altă clasă dacă este necesar.
Dar în acest model de proiectare, acest control a fost dat asamblatorului, iar asamblatorul va instanția clasa necesară, dacă este necesar.
57) Scrieți beneficiile utilizării IOC?
Beneficiile majore ale injecției de dependență sau IOC sunt că reduce cantitatea de codificare necesară pentru aplicație. Acest lucru permite testarea aplicației să fie făcută rapid și ușor, deoarece nu sunt necesare mecanisme de căutare JNDI sau singleton-uri. Containerele IOC acceptă, de asemenea, încărcarea leneșă și instalarea dornică a serviciilor.
58) Ce este fasolea interioară? Care este dezavantajul bobului interior?
Dacă un element de fasole este încorporat direct într-o etichetă de proprietate în timp ce conectează boabele, atunci fasolea se numește Inner Bean. Dezavantajul său este că nu poate fi reprocesat.
59) Care sunt diferitele tipuri de injecție în primăvară?
Există trei tipuri de injecție primăvara:
- Setter Injectie
- Injecție de constructor
- Getter sau metoda de injectare
60) Care sunt beneficiile cadrului de primăvară?
Următoarele sunt beneficiile cadrului de primăvară:
- Container ușor în comparație cu containerele j2EE
- Cadru Web MVC încorporat
- Creează aplicații slab cuplate
- Suportă programare orientată pe aspecte, cum ar fi înregistrarea, tranzacțiile și securitatea
- Configurare realizată în format XML care este ușor de scris și de înțeles
61) Care sunt tipurile de sfaturi?
Există cinci tipuri de sfaturi:
- Înainte de sfat
- După ce a returnat sfatul
- După ce a aruncat sfaturi
- In sfarsit un sfat
- În jurul sfaturilor
62) Ceea ce se numește PreparedStatementCreator?
Declarație pregătităCreator este una dintre cele mai frecvent utilizate interfețe pentru scrierea datelor în baza de date. createPreparedStatement() este o metodă care poate fi folosită pentru a crea și returna PreparedStatement din argumentul Connection, iar gestionarea excepțiilor este automatizată. Când această interfață este implementată, poate fi implementată și o interfață diferită SqlProvider care are o metodă numită getSql(). Această metodă este utilă pentru furnizarea șirurilor de caractere SQL la JdbcTemplate. Nu gestionează SQLExceptions.
63) Ce este SQLProvider?
SQLProvider are o singură metodă numită getSql()
și este implementat folosind PreparedStatementCreator implementatorii. Este folosit în principal pentru depanare.
64) Scrieți despre BatchPreparedStatementSetter?
BatchPreparedStatementSetter este folosit pentru a actualiza mai mult de un singur rând dintr-o singură mișcare, ei pot folosi BatchPreparedStatementSetter. Această interfață oferă două metode
- setValues(PreparedStatement ps, int i) aruncă excepția SOL
- int getBatchSize
65) Care este metoda mai bună de utilizare a JDBC în Spring?
Dacă JDBC este utilizat cu clasa șablon numită JdbcTemplate, oferă o performanță mai bună.
66) Ce excepții fac clasele DAO, folosite în Spring?
În primăvară, clasele DAO aruncă doar SQLException.
67) Explicați avantajele utilizării modulului DAO?
Codul bazei de date poate fi păstrat curat și simplu prin utilizarea modulului DAO. Acest lucru ajută la prevenirea problemelor care apar din cauza gestionării proaste a închiderii resurselor bazei de date. De asemenea, modulul DAO utilizează modulul AOP pentru a permite obiectelor din aplicația Spring să utilizeze serviciile de gestionare a tranzacțiilor.
68) Numiți implementările semnificative ApplicationContext utilizate în cadrul Spring?
Acestea sunt:
- ClassPathXmlApplicationContext
- FileSystemXmlApplicationContext
- XmlWebApplicationContext
69) Cum se adaugă o fasole la o aplicație Spring?
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"> <beans> <bean id="foo"/> <bean id="bar"/> </beans>
Eticheta bean are un atribut ID care stochează numele beanului și un atribut de clasă care specifică numele complet al clasei.
70) Ce sunt modulele de integrare ORM?
Instrumentul de mapare obiect/relațională (ORM) este susținut de Spring peste JDBC direct prin implementarea modulului ORM. Spring se poate alătura diferitelor cadre ORM importante, inclusiv JDO, iBATIS SQL Maps și Hibernate.
71) Menționați și explicați tipurile de Sfaturi în primăvară?
Tipurile de sfaturi sunt:
- Inainte de sfaturi: Sfatul care este executat înainte de un punct de unire se numește „înainte de sfat”.
- După returnarea sfaturilor: Sfatul care este executat după finalizarea normală a unui punct de unire se numește „sfatul după returnarea”.
- După ce ai dat sfaturi: Sfatul care este executat numai dacă o metodă iese anormal prin aruncarea unei excepții, se numește „sfatul după aruncare”.
- După (în sfârșit) sfaturi: Sfatul care este executat indiferent de modul în care iese un punct de unire se numește „după sfatul în sfârșit”.
- In jurul sfatului: Sfatul care mărginește un punct de unire, de exemplu, o invocare a unei metode, se numește „around advice”. Acesta poate fi folosit pentru a efectua activități speciale înainte și după invocarea metodei.
72) Ce este modulul web?
Modulul web permite crearea unei aplicații web fără XML. Fișierul web.xml trebuie configurat pentru utilizarea modulului web.
73) Ce este DataAccessException?
DataAccessException este o excepție RuntimeException. Este o excepție neverificată. Utilizatorul nu poate fi forțat să gestioneze aceste tipuri de excepții.
74) Ce este XMLBeanFactory?
Spring include mai multe aplicații ale fabricii de fasole. Dintre acestea, org.springframework.beans.factory.xml.XmlBeanFactory este una foarte importantă. Încarcă boabele pe baza definițiilor stocate într-un fișier XML. Pentru crearea unui XmlBeanFactory, un java.io.InputStream este transmis constructorului. InputStream furnizează XML-ul fabricii. De exemplu, pentru preluarea bean-ului, metoda getBean() este apelată prin transmiterea numelui bean-ului dorit.
MyBean helloBean = (MyBean) factory.getBean("helloBean");
75) Numiți clasa Exception care este conectată la excepțiile aruncate de aplicații?
Este DataAccessException dată de org.springframework.dao.DataAccessException
76) Menționați tipurile de LOC (injecție de dependență)?
Diferitele tipuri de loC sunt: –
- Injecție setter: Cu ajutorul JavaProprietățile fasolei.
- Injecție constructor: Dependențele sunt date sub formă de parametri de constructor.
- Injecție interfață: Cu ajutorul unei interfețe se efectuează o Injecție.
Dintre acestea trei, în primăvară sunt folosite doar construcția și instalarea.
77) Care sunt metodele importante ale ciclului de viață al boabelor?
Una peste alta, există două metode ale ciclului de viață al fasolei. Prima metodă este metoda de configurare care este apelată în timpul încărcării boabelor în container. Al doilea este atunci când boabele sunt descărcate din container, iar această metodă se numește teardown.
78) Cum pot fi anulate metodele implicite ale ciclului de viață al boabelor?
Eticheta, fasole, are două atribute utile care pot fi folosite pentru a defini metode speciale de inițializare și distrugere.
De exemplu, două metode noi pentruSetup și forTeardown pot fi adăugate la clasa Foo în următorul mod:
<beans> <bean id="bar" init-method="forSetup" destroy="forTeardown"/> </beans>
79) Ce este a Target?
O țintă este clasa care este recomandată. Această clasă poate fi fie o clasă la care dorim să îi adăugăm un comportament special, fie o clasă terță parte. Clasa țintă este liberă să se concentreze pe preocuparea sa majoră folosind conceptele AOP, indiferent de orice sfat care este aplicat.
80) Explicați termenul de proxy?
Termenul de proxy se referă la un obiect care este produs prin aplicarea unui sfat la obiectul țintă.
81) Care este preocuparea și preocuparea transversală în AOP de primăvară?
- Preocuparea transversală: Este o preocupare care este aplicabilă în întreaga aplicație și afectează întreaga aplicație. De exemplu, securitatea, înregistrarea în jurnal și transferul de date sunt preocupările care sunt necesare în aproape fiecare modul al unei aplicații.
- Îngrijorare: Preocuparea este un comportament pe care dorim să-l avem într-un modul al unei aplicații. Problemele care ne interesează ne definesc preocuparea.
Aceste întrebări de interviu vă vor ajuta, de asemenea, în viva (orale)