MC, 2025
Ilustracja do artykułu: Spring JavaScript – połączenie Spring Boot i frontendu!

Spring JavaScript – połączenie Spring Boot i frontendu!

Spring Boot to jedno z najpopularniejszych narzędzi do tworzenia aplikacji backendowych w języku Java. Ale co, jeśli chcemy dodać do niego dynamiczny frontend oparty na JavaScript? W tym artykule omówimy, jak wykorzystać Spring JavaScript i połączyć go z nowoczesnymi frameworkami, takimi jak React, Vue czy Angular.

Co to jest Spring JavaScript?

Spring JavaScript to podejście do integracji JavaScriptu z aplikacjami opartymi na Spring Boot. Może to obejmować używanie JavaScriptu do dynamicznej obsługi widoków w Spring MVC, komunikację z API REST stworzonym w Spring Boot oraz integrację nowoczesnych frameworków frontendowych.

Dlaczego warto łączyć Spring Boot z JavaScript?

Łączenie Spring Boot z nowoczesnym JavaScriptem ma wiele zalet:

  • Tworzenie dynamicznych i interaktywnych interfejsów użytkownika
  • Obsługa aplikacji typu SPA (Single Page Application)
  • Lepsza wydajność dzięki asynchronicznej komunikacji z backendem
  • Możliwość korzystania z popularnych frameworków frontendowych

Spring JavaScript – przykłady podstawowej integracji

Przyjrzyjmy się kilku sposobom łączenia Spring Boot z JavaScript.

1. Serwowanie plików statycznych w Spring Boot

Spring Boot domyślnie obsługuje pliki statyczne (JavaScript, CSS, obrazy) umieszczone w katalogach src/main/resources/static lub src/main/resources/public.

src/main/resources/static/js/app.js

W pliku HTML możemy załadować ten skrypt:


Dzięki temu nasza aplikacja może korzystać z własnych skryptów JavaScript.

2. Wysyłanie żądań do API REST w Spring Boot

Spring Boot pozwala łatwo tworzyć API REST, które może być konsumowane przez JavaScript.

Najpierw utwórzmy kontroler Spring Boot:

@RestController
@RequestMapping("/api")
public class SampleController {
    
    @GetMapping("/message")
    public Map getMessage() {
        return Map.of("message", "Witaj ze Spring Boot!");
    }
}

Teraz możemy pobrać te dane w JavaScript:

fetch('/api/message')
    .then(response => response.json())
    .then(data => console.log(data.message));

To proste rozwiązanie pozwala frontendowi dynamicznie komunikować się z backendem.

3. Spring Boot + React

Spring Boot świetnie współpracuje z Reactem. Aby uruchomić aplikację React wewnątrz Spring Boot, można umieścić pliki build Reacta w katalogu static.

Aby automatycznie przekierowywać żądania do Reacta, możemy dodać kontroler:

@Controller
public class ViewController {

    @GetMapping("/{path:[^.]*}")
    public String forward() {
        return "forward:/index.html";
    }
}

Teraz Spring Boot będzie serwował aplikację React na wszystkich ścieżkach.

4. Spring Boot + Vue.js

Podobnie jak React, Vue.js może być używany z Spring Boot jako frontend. Możemy skonfigurować serwer proxy w vue.config.js, aby komunikować się z backendem:

module.exports = {
  devServer: {
    proxy: 'http://localhost:8080'
  }
}

Teraz możemy używać Vue do pobierania danych z API Spring Boot:

export default {
  data() {
    return { message: "" };
  },
  created() {
    fetch('/api/message')
      .then(response => response.json())
      .then(data => this.message = data.message);
  }
};

5. Spring Boot + Angular

Angular również może działać jako frontend dla Spring Boot. Możemy dodać proxy w proxy.conf.json:

{
  "/api": {
    "target": "http://localhost:8080",
    "secure": false
  }
}

Teraz Angular może wysyłać zapytania do API Spring Boot:

this.http.get('/api/message').subscribe(data => console.log(data));

Podsumowanie

Spring JavaScript to świetne podejście do tworzenia nowoczesnych aplikacji webowych. Integracja Spring Boot z JavaScript pozwala budować dynamiczne, skalowalne i szybkie systemy. Bez względu na to, czy używasz czystego JavaScriptu, Reacta, Vue czy Angulara, Spring Boot jest gotowy na współpracę!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: