Kako doći do graha kojim upravlja proljeće?

1. Pregled

U ovom ćemo članku istražiti različite tehnike za prikazivanje svih graha kojima se upravlja proljećem unutar spremnika.

2. IoC spremnik

Grah je temelj aplikacije kojom upravlja proljeće; sav grah nalazi se u spremniku IOC-a koji je odgovoran za upravljanje njihovim životnim ciklusom.

Popis svih graha unutar ovog spremnika možemo dobiti na dva načina:

  1. Korištenje a ListableBeanFactory sučelje
  2. Korištenje pokretača opružnog čizma

3. Korištenje ListableBeanFactory Sučelje

The ListableBeanFactory sučelje pruža getBeanDefinitionNames () metoda koja vraća imena svih graha definiranih u ovoj tvornici. Ovo sučelje implementiraju sve tvornice graha koje unaprijed učitavaju definicije graha kako bi nabrojile sve njihove instance graha.

Popis svih poznatih podsučelja i njegovih klasa implementacije možete pronaći u službenoj dokumentaciji.

U ovom ćemo primjeru koristiti Spring Boot Application.

Prvo ćemo stvoriti proljetni grah. Stvorimo jednostavan kontroler opruge FooController:

@Controller javna klasa FooController {@Autowired private FooService fooService; @RequestMapping (value = "/ displayallbeans") javni String getHeaderAndBody (Model karte) {model.put ("header", fooService.getHeader ()); model.put ("poruka", fooService.getBody ()); return "displayallbeans"; }}

Ovaj kontroler ovisi o drugom proljetnom zrnu FooService:

@Service javna klasa FooService {public String getHeader () {return "Prikaži sve grah"; } public String getBody () {return "Ovo je primjer aplikacije koja prikazuje sve grah" + "u Spring IoC spremniku pomoću sučelja ListableBeanFactory" + "i pokretača proljetnog pokretanja."; }}

Imajte na umu da smo ovdje stvorili dva različita graha:

  1. fooController
  2. fooService

Tijekom izvršavanja ove aplikacije koristit ćemo applicationContext objekt i nazvati njegov getBeanDefinitionNames () metoda, koja će vratiti sav grah u našem applicationContext spremnik:

@SpringBootApplication javna klasa Application {private static ApplicationContext applicationContext; javna statička void glavna (String [] args) {applicationContext = SpringApplication.run (Application.class, args); displayAllBeans (); } javna statička praznina displayAllBeans () {String [] allBeanNames = applicationContext.getBeanDefinitionNames (); za (Niz beanName: allBeanNames) {System.out.println (beanName); }}}

Ovo će ispisati sav grah iz applicationContext spremnik:

fooController fooService // ostali grah

Imajte na umu da zajedno s grahom koji smo definirali, zapisat će i sve ostale mahune koje se nalaze u ovom spremniku. Radi jasnoće, ovdje smo ih izostavili jer ih ima prilično puno.

4. Korištenje pokretača opružnog podizanja

Funkcija Spring Boot Actuator pruža krajnje točke koje se koriste za nadgledanje statistike naše aplikacije.

Uključuje mnoge ugrađene krajnje točke, uključujući /grah. Ovo prikazuje cjelovit popis svih graha s proljećem u našoj aplikaciji. Potpuni popis postojećih krajnjih točaka možete pronaći na službenim dokumentima.

Sad ćemo samo pritisnuti URL //: / grah. Možemo koristiti naš zadani port poslužitelja ako nismo naveli nijedan zasebni port za upravljanje. Ovo će vratiti a JSON odgovor koji prikazuje sve grah u proljetnom IoC spremniku:

[{"context": "application: 8080", "parent": null, "beans": [{"bean": "fooController", "aliases": [], "scope": "singleton", "type" : "com.baeldung.displayallbeans.controller.FooController", "resource": "datoteka [E: / Workspace / tutorials-master / spring-boot / target /classes/com/baeldung/displayallbeans/controller/FooController.class]" , "zavisnosti": ["fooService"]}, {"bean": "fooService", "aliasi": [], "scope": "singleton", "type": "com.baeldung.displayallbeans.service.FooService "," resource ":" datoteka [E: / Workspace / tutorials-master / spring-boot / target / classes / com / baeldung / displayallbeans / service / FooService.class] "," zavisnosti ": []}, // ... ostali grah]}]

Naravno, ovo se sastoji i od mnogih drugih graha koji se nalaze u istoj proljetnoj posudi, ali radi jasnoće, ovdje smo ih izostavili.

Ako želite istražiti više o pokretačima opružnih pokretača, možete prijeći na glavni vodič za pokretač opružnog pokretača.

5. Zaključak

U ovom smo članku saznali kako prikazati sav grah u a Proljetni IoC kontejner koristeći ListableBeanFactory sučelje i aktuatori za podizanje opruge.

The puna provedba ovog vodiča možete pronaći na Githubu.


$config[zx-auto] not found$config[zx-overlay] not found