Java

Spring Security w Spring Boot

Często przygotowując aplikację webową chcemy posiadać sekcję która będzie dostępna tylko dla zalogowanych użytkowników lub jakiś panel administracyjny który pozwoli na zarządzanie stroną. Spring udostępnia gotowy mechanizm autentykacji i autoryzacji użytkowników z którego możemy w łatwy sposób skorzystać. W poście postaram się pokazać jak w najprostszy sposób skonfigurować autentykację, czyli logowanie użytkownika do systemu. Kod który używam jest możliwie jak najprostszy, pomijam tutaj używanie widoków i innych komponentów skupiając się tylko na tym co jest niezbędne do rozpoczęcia pracy z security.

Czytaj więcej »Spring Security w Spring Boot

Spring Boot – Widoki

W poprzednich postach pisałem jak zacząć przygodę ze Spring Bootem oraz jak się połączyć z bazą danych. Dotychczas dane do przeglądarki zwracane były jako stringi. Jak już pewnie się domyślasz istnieją lepsze sposoby aby ładnie zaprezentować nasze dane, a do tego oddzielić logikę aplikacji od prezentacji.

Spring wspiera różne technologie widoków. Od tradycyjnych JSP(http://pl.wikipedia.org/wiki/JavaServer_Pages), do Themyleaf (http://www.thymeleaf.org/), Twig (http://twig.sensiolabs.org/, implementacja dla Javy JTWIG: http://jtwig.org/), FreeMarker, Groovy czy Velocity.

Widoki JSP mają kilka znanych ograniczeń, przez co powinny być unikane. Osobiście lubię widoki TWIG dlatego skupie się na nich, inne silniki szablonów implementuje się w analogiczny sposób.

Kod źródłowy gotowego projektu można znaleźć pod adresem: https://github.com/mloza/spring-boot-views

Czytaj więcej »Spring Boot – Widoki

Spring Boot – Interakcja z bazą danych czyli Spring Data JPA

W poprzednim poście pokazującym jak zacząć ze Spring Bootem pokazałem jak stworzyć Hello World dla aplikacji web. Przyszedł czas aby do naszą aplikację połączyć z bazą danych. Będzie nam potrzebne kilka rzeczy:

  • Baza danych
  • Model – klasy POJO z adnotacjami które będą reprezentować schemat bazy danych (więcej o tym za chwilę)
  • Repozytoria – Klasy lub interfejsy które będą definiowały operacje które można wykonać na modelu (takie jak zapisanie obiektu w bazie, wyszukiwanie obiektów itp)

Mogą tutaj pojawić się elementy projektu które pokazywałem w poprzednim poście więc zachęcam do jego przeczytania. Zacznijmy po kolei.

Czytaj więcej »Spring Boot – Interakcja z bazą danych czyli Spring Data JPA
Spring Boot

Spring Boot – szybkie tworzenie aplikacji web w Javie

Stworzenie nawet prostej aplikacji w Javie zwykle bywa czasochłonne. Trzeba stworzyć dużo plików xml zawierających konfiguracje, która zazwyczaj jest taka sama lub bardzo podobna dla każdej aplikacji, następnie uruchamianie kontenera, deployowanie aplikacji i inne powtarzalne czynności. Jednak istnieje alternatywa którą jest Spring Boot!

Projekt ten powstał aby ułatwić wszystkim start ze Springiem, eliminuje potrzebę zabawy z tworzeniem konfiguracji xml-owej, gotową aplikację można stworzyć i uruchomić za pomocą jednej klasy. Idealnie nadaje się do projektów studenckich i szybkiego prototypowania aplikacji. Jedyne wymagania jakie stawia przed użytkownikiem to podstawowa znajomość Mavena.

Czytaj więcej »Spring Boot – szybkie tworzenie aplikacji web w Javie

Spring Boot i AngularJS – Prezentacja w ramach Sabre Academy

Prezentacja wygłoszona na Krakowskich uczelniach: Uniwersytet Jagielloński i Akademia Górniczo Hutnicza w ramach Sabre Academy. Pokazuje jak wykorzystać Spring Boot do stworzenia backendu aplikacji oraz AngularJS do wykonania Frontendu. Obie aplikacje komunikują się z użyciem RESTowego API.

Na prezentacji możesz zobaczyć w jaki sposób wykorzystać podstawowe elementy AngularJS, takie jak kontrolery, filtry, widoki, routing czy serwisy. W części backendowej – pokazuję jak użyć Spring Boot, jak wykorzystać Mavena do zbudowania projektu, jak wykorzystać model MVC, jak połączyć się z bazą danych, użyć embedded db h2, stworzyć RESTOWY endpoint który może zostać użyty do komunikacji przez Angulara.

Przykłady wraz z prezentacją znajdują się w githubowym repozytorium: https://github.com/mloza/Sabre-Academy. Samą prezentację można również pobrać tutaj: Wstęp do AngulaJS i Spring Boot.

Czytaj więcej »Spring Boot i AngularJS – Prezentacja w ramach Sabre Academy