0% au considerat acest document util (0 voturi)
3 vizualizări3 pagini

Spring Boot

Spring Boot este o modalitate de a facilita crearea aplicațiilor autonome bazate pe Spring, cu configurații minime sau zero. Oferă suport pentru dezvoltarea rapidă, integrarea ușoară cu ecosistemul Spring și permite controlul jurnalizării prin fișierul application.properties. De asemenea, include Dev Tools pentru reîncărcarea aplicațiilor fără repornire și actuator pentru gestionarea serviciilor în producție.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
3 vizualizări3 pagini

Spring Boot

Spring Boot este o modalitate de a facilita crearea aplicațiilor autonome bazate pe Spring, cu configurații minime sau zero. Oferă suport pentru dezvoltarea rapidă, integrarea ușoară cu ecosistemul Spring și permite controlul jurnalizării prin fișierul application.properties. De asemenea, include Dev Tools pentru reîncărcarea aplicațiilor fără repornire și actuator pentru gestionarea serviciilor în producție.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Întrebarea 1. Ce este Spring Boot?

Spring Boot foloseș te Commons Logging pentru toată logarea internă ș i poț i schimba nivelurile de logare prin
În primul rând, Spring Boot nu este un cadru, ci o modalitate de a facilita crearea aplicaț iilor autonome. adăugând următoarele linii în fiș ierul [Link]:
cu configuraț ii minime sau zero. Este o abordare de a dezvolta aplicaț ii bazate pe Spring cu foarte [Link]=DEBUG
configurare mai puț in. Oferă valori implicite pentru configurarea codului ș i a anotaț iilor pentru a începe rapid noi
proiecte primăvara într-un timp foarte scurt. [Link]=INFO

Spring Boot configurează automat clasele necesare în func ț ie de bibliotecile sale


classpath. Să presupunem că aplicaț ia ta vrea să interacț ioneze cu baza de date, dacă există biblioteci Spring Data pe Ce sunt operaț iile REST sigure?
Calea clasei apoi configurează automat conexiunea la DB împreună cu clasa Data Source. REST API uses HTTP methods to perform operations. Some of the HTTP operations which
nu modifică resursa de la server, este cunoscută sub denumirea de operaț iuni sigure, de exemplu GET ș i HEAD. Pe
pe de altă parte,PUNE, POST ș i DELETE sunt nesigure deoarece modifică resursa pe
Întrebarea 2. Care sunt avantajele utilizării Spring Boot? server.
o Este foarte uș or să dezvolț i aplicaț ii bazate pe Spring cu Java
o Reduce mult timp de dezvoltare ș i creș te productivitatea.
o Evită scrierea multor coduri boilerplate, adnotări ș i configuraț ii XML. {"idempotent_operations":"Ce sunt operaț iile idempotente?","importance_of_idempotency":"De ce este importantă idempotenta?"}

o Este foarte u ș or să integrezi o aplica ț ie Spring Boot cu ecosistemul său Spring, cum ar fi Există câteva metode HTTP, de exemplu GET, care produc acelaș i răspuns indiferent de câte ori
Spring JDBC, Spring ORM, Spring Data, Spring Security etc. timpuri în care le foloseș ti, de exemplu, trimiterea mai multor cereri GET către aceeaș i URI va rezulta în acelaș i
o Urmează abordarea „Configurare cu valori implicite opț ionale” pentru a reduce efortul dezvoltatorului. răspuns fără niciun efect secundar, de aceea este cunoscut ca idempotent.
o Oferă servere HTTP încorporate precum Tomcat, Jetty etc. pentru a dezvolta ș i testa.
aplicaț ii web foarte uș or. Pe de altă parte, POST-ul nu este idempotent pentru că, dacă trimiț i mai multe cereri POST, va
rezultatul este crearea mai multor resurse pe server, dar din nou, PUT este idempotent dacă îl foloseș ti
Întrebare 3. Ce înseamnă Dev Tools în Spring Boot? pentru a actualiza resursa.
Spring Boot însoț eș te Dev Tools, astfel încât nu trebuie să redeployaț i aplicaț ia de fiecare dată.
tu influenț ezi schimbările. Developerul poate reîncărca progresele fără a reporni Chiar ș i mai multe cereri PUT pentru a actualiza o resursă pe un server vor da acelaș i rezultat final. Puteț i
server. <artifactId>spring-boot-devtools</artifactId> în continuare luaț iFundamentele
HTTPcurs de la Pluralsight pentru a învăț a mai multe despre metode idempotente
al protocolului HTTP ș i HTTP în general.
Întrebare 4. Ce este un actuator în Spring Boot?

Care sunt avantajele RestTemplate?


adaugă mai multe servicii de grad de producț ie aplicaț iei tale cu puț in efort din partea ta. Acolo
de asemenea, are multe caracteristici adăugate aplicaț iei tale din cutie pentru gestionarea serviciului în Clasa RestTemplate este o implementare a modelului de metodă Template în cadrul framework-ului Spring.
un mediu de producț ie (sau alt mediu). Ele sunt folosite în principal pentru a expune diferite tipuri de de asemenea, simplifică interacț iunea cu serviciile web RESTful pe partea clientului. Puteț i să-l folosiț i pentru

informaț ii despre aplicaț ia în execuț ie – sănătate, metrici, informaț ii, dump, env et consumă un serviciu web RESTful foarte uș or

private static void getEmployees()


Întrebarea 5. Cum să configurezi sursa de date folosind Spring Boot? {
Foloseș te fie spring-boot-starter-jdbc, fie spring-boot-starter-data-jpa ș i include un driver JDBC pe final String uri = "[Link]
classpath RestTemplate restTemplate = nou RestTemplate();
Declaraț i proprietăț i:
EmployeeListVO result = [Link](uri, [Link]);
[Link]=jdbc:mysql://localhost/test
[Link]=dbuser [Link](result);
[Link]=dbpass }
Injecț ie de dependenț ă ș i container IOC
[Link]-class-name=[Link]
o Spring Boot va crea o sursă de date cu proprietăț i setate. Spring ajută la crearea de aplicaț ii slab legate datorită injectării de dependenț e.
o Va folosi chiar ș i un pool de conexiuni dacă biblioteca este găsită pe calea de clasă. În Spring, obiectele îș i definesc asocierile (dependenț ele) ș i nu se îngrijorează despre cum se
vor obț ine aceste dependenț e. Este responsabilitatea Spring de a oferi dependenț ele necesare
pentru crearea obiectelor.
Întrebarea 6. Poț i controla jurnalizarea cu Spring Boot? Cum? De exemplu: Să presupunem că avem un obiect Employee ș i are o dependenț ă de
Da, putem controla înregistrarea în Spring Boot specificând nivelurile de jurnalizare în [Link] objectAddress. We would define a bean corresponding toEmployeethat will define its
fiș ier. Spring Boot încarcă acest fiș ier atunci când există în classpath ș i poate fi folosit pentru a configura dependență de objectAddress.
atât codul Spring Boot, cât ș i codul aplicaț iei.
Când Spring încearcă să creeze un obiect Employee, va observa că Employee are o dependență apare atunci când creezi mai mult de o fasole de acelaș i tip ș i vrei să conectezi doar una dintre ele
peAdresa, astfel încât mai întâi va crea obiectulAdresa (obiect dependent) și apoi îl va injecta în cu o proprietate.
obiectulAngajatului.
Inversarea controlului (IOC) ș i injecț ia de dependenț ă (DI) sunt folosite interschimbabil. IOC este @Configurare
realizat prin DI. DI este procesul de furnizare a dependenț elor, iar IOC este rezultatul final al
DI. (Notă: DI nu este singura modalitate de a obț ine IOC. Existăalte moduride asemenea.)
Prin DI, responsabilitatea de a crea obiecte este mutată de la codul aplicaț iei noastre la Spring Această anotare este folosită pe clasele care definesc boabe. @Configuraț ie este un analog pentru XML
container; acest fenomen se numeș te IOC. fiș ier de configurare - este configuraț ie folosind clasa Java. Clasa Java anotată
Injecț ia de dependenț ă poate fi realizată prin injecț ia setter sau injecț ia prin constructor. cu @Configuration este o configuraț ie de sine stătătoare ș i va avea metode pentru a instanț ia ș i
configurează dependenț ele.
Domeniile Bean-urilor Spring
@Bean

Există cinci tipuri de domenii pentru bean-urile spring:


Această adnotare este utilizată la nivel de metodă. Adnotarea @Bean funcț ionează împreună cu @Configuration pentru
singleton – va fi creată o singură instanț ă a bean-ului spring pentru containerul spring. Aceasta este creează boabe Spring. Aș a cum s-a menț ionat anterior, @Configuration va avea metode pentru a instanț ia ș i
scopul implicit al bean-ului Spring. Când folosiț i acest scop, asiguraț i-vă că bean-ul nu este partajat configuraț i dependenț ele. Astfel de metode vor fi annotate cu @Bean. Metoda annotată
variabilele de instanț ă, altfel ar putea duce la probleme de inconsistenț ă a datelor. cu această anotare funcț ionează ca ID de bean ș i creează ș i returnează bean-ul efectiv.

prototype – O nouă instanț ă va fi creată de fiecare dată când bean-ul este solicitat din Spring @Lazy
container.
Această anotare este folosită pe clasele componentelor. În mod implicit, toate dependenț ele autowired sunt
request – This is same as prototype scope, however it’s meant to be used for web applications.
creat ș i configurat la pornire. Dar dacă vrei să initializezi un bean cu întârziere, poț i
Se va crea o nouă instanț ă a bean-ului pentru fiecare cerere HTTP. foloseș te adnotarea @Lazy peste clasă. Aceasta înseamnă că bean-ul va fi creat ș i iniț ializat
doar atunci când este solicitat pentru prima dată
ș edinț ă – Un nou bob va fi creat pentru fiecare sesiune HTTP de către container.
@EnableAutoConfiguration
global-session – Acesta este folosit pentru a crea sesiuni globale pentru aplicaț ii Portlet.

Unele Anotaț ii Această adnotare este de obicei plasată pe clasa principală a aplicaț iei.
Anotarea @EnableAutoConfiguration defineș te implicit un „pachet de căutare” de bază.
Necesar notaț ia spune Spring Boot să înceapă să adauge beans pe baza setărilor căii de clasă, altor beans ș i
diverse setări ale proprietăț ii.

Această anotare este aplicată pe metodele setter ale bean-ului. Consideraț i un scenariu în care trebuie să @SpringBootApplication
impose o proprietate necesară. Anotarea @Required indică faptul că bean-ul afectat trebuie să fie
populat în timpul configurării cu proprietatea necesară. Altfel, o excepț ie de
Această anotare este utilizată pe clasa aplicaț iei în timp ce se configurează un proiect Spring Boot. Clasa
excepț ia BeanInitializationException este aruncată.
that is annotated with the @SpringBootApplication must be kept in the base package
@Autowired
@ControllerAdvice

Această anotare se aplică pe câmpuri, metode setter ș i constructori. Această adnotare este aplicată la nivel de clasă. Aș a cum s-a explicat mai devreme, pentru fiecare controler poț i
Anotarea @Autowired injectează dependenț a obiectului în mod implicit.
foloseș te @ExceptionHandler pe o metodă care va fi apelată atunci când apare o anumită excepț ie. Dar acest lucru
gestionează doar acele excepț ii care apar în cadrul controller-ului în care este definit. Pentru a depăș i
această problemă acum poț i folosi anotarea @ControllerAdvice. Această anotare este folosită pentru
definirea metodelor @ExceptionHandler, @InitBinder ș i @ModelAttribute care se aplică la
@Calificator toate metodele @RequestMapping. Astfel, dacă defineș ti anotarea @ExceptionHandler pe un
metoda din clasa @ControllerAdvice, va fi aplicată tuturor controllerelor.
Această anotare este utilizată împreună cu anotarea @Autowired. Atunci când aveț i nevoie de mai mult control asupra
@RestController
procesul de injectare a dependenț elor, @Qualifier poate fi utilizat. @Qualifier poate fi specificat pe individual
argumentele constructorului sau parametrii metodei. Această anonare este folosită pentru a evita confuzia care
Această Annotaț ie este utilizată la nivel de clasă. Annotaț ia @RestController marchează clasa ca un
controler unde fiecare metodă returnează un obiect de domeniu în loc de o vedere. Prin anotarea unei clase
cu această anotare nu mai este necesar să adăugaț i @ResponseBody la toate RequestMapping
metodă. Asta înseamnă că nu mai foloseș ti rezolvatori de vizualizare sau nu mai trimiț i html ca răspuns. Pur ș i simplu trimiț i

obiectul de domeniu ca răspuns HTTP în formatul înț eles de consumatori precum


JSON.

S-ar putea să vă placă și