Spring Framework
Veel Java-teams gebruiken al Spring Boot om applicaties te bouwen. De integratie van Spring met webforJ stelt je nu in staat om de UI-componenten van webforJ toe te voegen aan bestaande Spring-applicaties, of om de functies van Spring te gebruiken in nieuwe webforJ-projecten.
Je Spring-diensten, repositories en configuratie werken zoals gewoonlijk. Je webforJ-componenten kunnen @Autowired
elke Spring-bean. Spring Data repositories verbinden zich rechtstreeks met webforJ-tabellen via SpringDataRepository
. De ontwikkeling gaat sneller met automatische browserrefresh vanuit Spring DevTools en webforJ LiveReload.
De integratie laat beide frameworks doen waar ze het beste in zijn - Spring behandelt backend-zaken terwijl webforJ de UI afhandelt.
Topics
📄️ Spring Boot
Spring Boot is een populaire keuze voor het bouwen van Java-apps, waarbij afhankelijkheidsinjectie, automatische configuratie en een ingebed serversysteem worden geboden. Wanneer je Spring Boot gebruikt met webforJ, kun je services, repositories en andere door Spring beheerde beans direct in je UI-componenten injecteren via constructorinjectie.
📄️ Routing
Routing in webforJ met Spring werkt precies hetzelfde als in gewone webforJ-toepassingen. Je gebruikt nog steeds de @Route annotatie om routes te definiëren, dezelfde navigatiepatronen en dezelfde routelevenscyclus. Het enige verschil is dat wanneer Spring aanwezig is, je routes ook Spring-beans kunnen ontvangen via constructorinjectie.
📄️ Scopes
Spring beheert de levenscyclus van beans via scopes. Elke scope definieert wanneer een bean wordt aangemaakt, hoe lang deze leeft en wanneer deze wordt vernietigd. webforJ voegt twee aangepaste scopes toe - @EnvironmentScope en @RouteScope - die overeenkomen met hoe webforJ-toepassingen omgaat met browsersessies en navigatie.
📄️ Spring Data JPA
Spring Data JPA is de facto standaard voor gegevensaccess in Spring-toepassingen, en biedt repository-abstraheringen, query-methoden en specificaties voor complexe queries. De webforJ SpringDataRepository adapter overbrugt Spring Data repositories met de UI-componenten van webforJ, waardoor je JPA-entiteiten rechtstreeks kunt koppelen aan UI-componenten, dynamische filtering kunt implementeren met JPA-specificaties en paginering kunt afhandelen.
📄️ Background Jobs
Wanneer gebruikers op een knop klikken om een rapport te genereren of gegevens te verwerken, verwachten ze dat de interface responsief blijft. Voortgangsbalken moeten animaties hebben, knoppen moeten reageren op hover, en de app mag niet bevriezen. Spring's @Async annotatie maakt dit mogelijk door langdurige processen naar achtergrondthreads te verplaatsen.
📄️ Spring DevTools
Spring DevTools biedt automatische herstarts van de applicatie wanneer er codewijzigingen zijn. webforJ DevTools voegt automatische browservernieuwing toe - wanneer Spring uw applicatie herstart, ververst de browser automatisch via de LiveReload-server van webforJ.