Dzisiejsza lekcja będzie podzielona na dwie części, w których powiemy sobie o zabezpieczaniu aplikacji z użyciem Spring Security.
W tej lekcji omówimy kilka mechanizmów i pojęć, niezbędnych do zrozumienia zagadnień związanych z zabezpieczaniem aplikacji. W drugiej części dodamy pewne ograniczenia do naszej aplikacji.
Czytaj dalej →#15 — Relacje jeden-do-wielu, wiele-do-jednego
W tej lekcji poznamy sposób obsługi relacji jeden-do-wielu za pomocą JPA, różne rodzaje tych relacji oraz pewne ograniczenia i to, co się z nimi wiąże.
Sytuacja, którą do tej pory omawialiśmy (mamy tylko jeden typ obiektu) w rzeczywistości występuje bardzo rzadko — najczęściej mamy do czynienia z wieloma obiektami powiązanymi między sobą wieloma relacjami jeden-do wielu. Taką sytuację można rozłożyć na pojedyncze elementy — relacje jeden-do-wielu — i nauczyć się radzić sobie z pojedynczą relacją. Więcej takich relacji w systemie wymaga jedynie powielenia tego schematu :)
#14 — Spring Data
W dzisiejszej lekcji poznamy narzędzie, które znacznie uprości i skróci nam pracę, związaną z obsługą bazy danych. Czy pamiętasz, jak w ostatniej lekcji pisałaś kod pobierający listę obiektów z bazy danych? Wymagało to utworzenia nowej metody, w niej utworzenia zapytania za pomocą EntityManagera, pobrania wyników i obsłużenia sytuacji, w której nie ma wyniku lub otrzymujemy wyjątek. A gdybym powiedział, że wystarczy tylko pierwszy krok, nazwa metody? Przedstawiam zatem Spring Data :)
Czytaj dalej →#13.2 — Baza danych z JPA cz. 2
W poprzedniej części dowiedziałaś się, czym jest JPA oraz jak używać adnotacji związanych z JPA, dzisiaj zobaczymy jak skonfigurować go w projekcie :)
Jak zaraz sama zobaczysz, konfiguracja jest trywialna i sprowadza się do fragmentu XML i dodania odpowiednich bibliotek. Zobaczymy także jak korzystać z EntityManagera aby pobrać interesujące nas obiekty.
Czytaj dalej →#13.1 — Baza danych z JPA cz. 1
W dzisiejszej i jutrzejszej lekcji omówimy podstawy JPA — standardu, który znacznie upraszcza obsługę bazy danych z poziomu aplikacji. W pierwszej części lekcji zobaczymy sam JPA, w kolejnej zaś nauczymy się używać go we własnym projekcie.
Czytaj dalej →#12 — używamy bazy danych ze Sprigiem
W poprzedniej lekcji poznaliśmy podstawy teorii baz danych oraz składni języka SQL — dzisiaj wykorzystamy tę wiedzę w praktyce.
Dzisiejsza lekcja dotyczyć będzie korzystania z bazy danych w Springu bezpośrednio z użyciem JDBC. To ważne, ponieważ Spring zapewnia także uproszczone interfejsy i klasy które wspierają pracę z bazą danych z użyciem SQL (np. NamedPArameterJdbcTemplate), ale podstawowa zasada jest ta sama. Tym bardziej, że nie jest to obecnie często stosowana metoda, pozwolimy sobie na uproszczenie i jedyne ogólne omówienie.
Czytaj dalej →#11 — korzystamy z bazy danych
W dzisiejszej lekcji zajmiemy się po raz pierwszy bazami danych — na początku trochę teorii, a następnie użyjemy bazy danych do przechowywania informacji o kotach w naszym systemie :)
Tutaj chcę zwrócić uwagę na pewną rzecz — zmieniając naszą klasę DAO z ArrayListy na bazę danych nie będziemy modyfikować żadnej innej części naszej aplikacji! To tzw. abstrakcja z elementami hermetyzacji (enkapsulacji) — jedna z fundamentalnych zasad programowania obiektowego. Szerzej ten temat omówimy sobie w przyszłości, oczywiście przykład którym się posługujemy jest bardzo uproszczony, ale co do zasady o to właśnie chodzi w projektowaniu oprogramowania — tworzeniu komponentów, które udostępniają pewne funkcjonalności w określony sposób, ale szczegóły w jaki sposób to robią są ukryte, dzięki czemu w prosty sposób możemy podmieniać pewne elementy mając pewność, że nie zmieni to sposobu w jaki działa aplikacja.
Czytaj dalej →Ćwiczenie — czytanie kodu na głos
Dzisiejszy wpis będzie niecodzienny, bo zamiast kolejnej lekcji Javy (ta będzie w kolejny czwartek) zrobimy sobie proste ćwiczenie.
Pamiętacie metodę gumowej kaczuszki, o której Ania pisała ostatnio? To inna wersja tego samego konceptu. Moim zdaniem ta metoda jest lepsza na początku nauki, kiedy to niektóre elementy samej składni języka nie są dla nas oczywiste i uczymy się także w tym kierunku.
Czytaj dalej →#Lazy Sunday. Metoda gumowej kaczuszki
Dziś dowiecie się czemu gumowa kaczka jest przyjaciółką każdego programisty (choć ja wybrałam do przyjaźni świnkę). A z resztą sama metoda okaże się pomocna nie tylko dla programistów. Gotowi?
Rubber Duck Programming
To metoda wyszukiwania błędów (debugowania kodu) i nie jest niczym innym jak myśleniem na głos. Linijka po linijce tłumaczymy naszej kaczce (śwince czy kotu), co robi nasz kod. W ten sposób można zidentyfikować błędy w aplikacji.
Czytaj dalej →#10 — Spring mvc — formularze i widoki
Dzisiejszą lekcję poświęcimy, żeby szerzej omówić widoki — a dokładniej użycie tagów i JSTL — oraz prawidłową obsługę formularzy (wraz z walidacją). JSTL (Java Standard Tag Library) oraz ogólnie taglibs (biblioteki tagów) są wykorzystywane do automatyzacji na poziomie widoków. Dzisiaj poznamy podstawowe — te do obsługi pętli i warunków. Formularze z kolei są używane na stronach do różnorodnych elementów — od wprowadzania danych, edycji np. profilu po składanie zamówień. Ich obsługa jest jednym z ważniejszych elementów z punktu widzenia interfejsu użytkownika.
Czytaj dalej →