Skip to content

Simple Maven project with Spring Boot to demonstrate different usages of Spring component scopes.

License

Notifications You must be signed in to change notification settings

Interes-Group/spring-course-bean-scopes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Course - Bean scopes

Java CI with Maven License MIT Java 1.8

Cieľom je oboznámiť sa s rôznymi bean scopes. Dokumentácia je dostupná na spring docs .

Obsah projektu

  • AbstractBean – Abstraktná trieda , ktorá obsahuje atribút name typu String. V konstriktore nastavuje tento atribút na hodnotu “:”.
  • triedy, dediace od AbstractBean reprezentujúce rôzne použitie scope:
    • SingletonBean
    • PrototypeBean
    • RequestBean
    • SessionBean

Testovanie

Súčasťou projektu je RESTful endpoint pre otestovanie vytvorenia definovných komponentov na základe scope-u. Endpoint je možné zavolať: curl localhost:8080

Endpoint, ktorý pri zavolaní:

  1. načíta z aktuálneho aplikačného kontextu (ApplicationContext) všetky beany,
  2. vytvorí reťazec obsahujúci hodnoty atribútu name jednotlivých bean vhodne oddelených (napr. “\n”),
  3. počká 500ms,
  4. znovu načíta všetky beany,
  5. do vytvoreného reťazca znova pridá hodnoty atribútu name jednotlivých bean
  6. vráti vytvorený reťazec

Očakávané správanie

SingletonBean by mal vždy vrátiť rovnaký názov pri každom volaní – vytvára sa vždy len jedna inštancia.

PrototypeBean by mal pri každom volaní vrátiť rôzne hodnoty, aj v rámci volania – pri každom načítaní z aplikačného kontextu sa vytvorí nová inštancia.

RequestBean by mal pri každom volaní vrátiť rôzne hodnoty, v rámci volania by mali byť rovnaké – vytvára sa nová inštancia pre každé zavolanie endpointu.

SessionBean by mal vždy vrátiť rovnaký názov pri každom volaní – vytvára sa nová inštancia pre každú používateľskú reláciu, keďže v projekte existuje iba jedna používateľská relácia.

Build

Maven test - mvn test

Maven build - mvn clean compile package

About

Simple Maven project with Spring Boot to demonstrate different usages of Spring component scopes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages