Modern Java web applications with Spring Boot and ThymeleafLAY Leangsros
If you’re using Java in an enterprise environment, you’ve most likely been using Spring Framework with JSP which does the job pretty well.But I will provide the sampling of how Spring Boot helps you accelerate and facilitate application development better. I will show a templating technology, Thymleaf which can be used much more modern features;
JDD2014: JAVA.util.concurrent czyli wielowątkowość z różnych perspektyw, tych...PROIDEA
Wielowątkowość to temat przewijający się często w aplikacjach. Czasem tworzona ręcznie, czasem przykryta przez frameworki. Omówione zostaną niektóre elementy pakietu java.util.concurrent, które można wykorzystać zarówno do implementacji wielowątkowości w swoich aplikacjach jak i bezpiecznego wykorzystywania jej w gotowych projektach opartych na gotowych frameworkach. Przyglądniemy się również sposobom wykorzystania wielowątkowości w JavaEE np w komponentach EJB.
Podczas prelekcji dowiesz się o co chodzi z RxJS, do czego jest ono przydatne Angularowi. Celem wystąpienia jest zaprezentowanie tworzenia oprogramowania zgodnie z paradygmatem programowania reaktywnego.
Modern Java web applications with Spring Boot and ThymeleafLAY Leangsros
If you’re using Java in an enterprise environment, you’ve most likely been using Spring Framework with JSP which does the job pretty well.But I will provide the sampling of how Spring Boot helps you accelerate and facilitate application development better. I will show a templating technology, Thymleaf which can be used much more modern features;
JDD2014: JAVA.util.concurrent czyli wielowątkowość z różnych perspektyw, tych...PROIDEA
Wielowątkowość to temat przewijający się często w aplikacjach. Czasem tworzona ręcznie, czasem przykryta przez frameworki. Omówione zostaną niektóre elementy pakietu java.util.concurrent, które można wykorzystać zarówno do implementacji wielowątkowości w swoich aplikacjach jak i bezpiecznego wykorzystywania jej w gotowych projektach opartych na gotowych frameworkach. Przyglądniemy się również sposobom wykorzystania wielowątkowości w JavaEE np w komponentach EJB.
Podczas prelekcji dowiesz się o co chodzi z RxJS, do czego jest ono przydatne Angularowi. Celem wystąpienia jest zaprezentowanie tworzenia oprogramowania zgodnie z paradygmatem programowania reaktywnego.
This is my presentation about Red Gate SQL Doc that I have presented on one of the meatings of Lodzka Grupa Profesjonalistow IT & .NET. Presentation in Polish.
Poznaj możliwości platformy J2EE
* Wykorzystaj język XML w aplikacjach bazodanowych
* Zaimplementuj obsługę protokołu SOAP
* Zbuduj aplikacje w oparciu o serwlety i JSP
* Zastosuj w projektach technologię Enterprise Java Beans
Platforma Java 2 Enterprise Edition zdobyła już mocną pozycję na rynku serwerów aplikacji. Dzięki niej możliwe stało się tworzenie aplikacji korporacyjnych zgodnych z podstawowym założeniem przyświecającym twórcom Javy -- "pisz raz, uruchamiaj wszędzie". Najnowsza wersja platformy J2EE została znacznie rozbudowana i zmodernizowana w porównaniu z poprzednimi. Dodano do niej możliwość obsługi usług WWW, rozszerzono i unowocześniono implementacje technologii serwletów i JSP oraz poprawiono wiele komponentów przydatnych przy tworzeniu aplikacji korporacyjnych.
"J2EE. Vademecum profesjonalisty. Wydanie II" to kompletny przewodnik po najnowszej wersji Java 2 Enterprise Edition, napisany przez członków zespołu zajmującego się rozwojem platformy J2EE, zatrudnionych w firmie Sun. Opisuje kluczowe komponenty Java 2 Platform, Enterprise Edition (J2EE) w wersji 1.4. Prezentuje rozwiązania konkretnych problemów napotykanych przez programistów, zilustrowane licznymi przykładami. W książce przedstawiono nie tylko komponenty J2EE, ale również współpracujące z nią technologie: JavaServer Pages Standard Tag Library (JSTL) oraz JavaServer Faces.
* Tworzenie aplikacji internetowej wykorzystującej język XML
* Stosowanie parsera SAX
* Analiza i przetwarzanie hierarchii DOM w dokumentach
* Korzystanie z XPath
* Implementacja usług WWW oraz obsługi protokołu SOAP
* Tworzenie aplikacji z wykorzystaniem serwletów i JSP
* Stosowanie technologii JavaServer Faces
* Projektowanie z wykorzystaniem Enterprise Java Beans
Jeśli chcesz zaprojektować i stworzyć aplikację z wykorzystaniem J2EE, w tej książce znajdziesz wszystkie informacje, jakie mogą Ci być do tego potrzebne.
Tworzenie, zaciemnianie i analiza złośliwego kodu JavaScriptKrzysztof Kotowicz
Ataki malware'u na przeglądarki nieświadomych internautów stają się coraz powszechniejsze. Wciąż powstają nowe techniki pozwalające obejść filtry stosowane przez producentów oprogramowania zabezpieczającego. Z kolei filtry są coraz lepsze, powstają też nowe narzędzia - walka trwa. Na prezentacji dowiecie się, jak włamywacze usiłują utrudnić pracę analizatorom ich kodu i jak reverserzy sobie z tym radzą. Nacisk zostanie położony na słabości narzędzi automatycznych - będziemy usiłowali uniknąć wykrycia przez jsunpack i Capture-HPC, oszukamy też popularny unpacker Deana Edwardsa.
Spring Framework. Profesjonalne tworzenie oprogramowania w JavieWydawnictwo Helion
Poznaj możliwości szkieletu Springi usprawnij proces tworzenia aplikacji J2EE
Spring to szkielet wytwarzania aplikacji (framework), dzięki któremu proces budowania oprogramowania w języku Java dla platformy J2EE staje się znacznie prostszy i efektywniejszy. Spring oferuje usługi, które można z powodzeniem używać w wielu środowiskach -- od apletów po autonomiczne aplikacje klienckie, od aplikacji internetowych pracujących w prostych kontenerach serwletów po złożone systemy korporacyjne pracujące pod kontrolą rozbudowanych serwerów aplikacji J2EE. Spring pozwala na korzystanie z możliwości programowania aspektowego, znacznie sprawniejszą obsługę relacyjnych baz danych, błyskawiczne budowanie graficznych interfejsów użytkownika oraz integrację z innymi szkieletami takimi, jak Struts czy JSF.
Książka "Spring Framework. Profesjonalne tworzenie oprogramowania w Javie" odkryje przed Tobą wszystkie tajniki stosowania Springa w procesie wytwarzania systemów informatycznych dla platformy J2EE. Dowiesz się, jak efektywnie korzystać z najważniejszych składników szkieletu Spring i poznasz ich rolę w budowaniu aplikacji. Nauczysz się nie tylko tego, co można zrealizować za pomocą poszczególnych usług, ale także tego, w jaki sposób zrobić to najlepiej. W kolejnych ćwiczeniach przeanalizujesz proces tworzenie kompletnej aplikacji w oparciu o Spring.
W książce poruszono m.in. tematy:
* Struktura szkieletu Spring
* Tworzenie komponentów i definiowanie zależności pomiędzy nimi
* Testowanie aplikacji i testy jednostkowe
* Programowanie aspektowe w Spring
* Połączenia z relacyjnymi bazami danych za pomocą JDBC
* Zarządzanie transakcjami
* Korzystanie z mechanizmu Hibernate
* Zabezpieczanie aplikacji
* Stosowanie szkieletu Web MVC
Przekonaj się, jak Spring może zmienić Twoją pracęnad tworzeniem aplikacji J2EE.
Java. Obsługa wyjątków, usuwanie błędów i testowanie koduWydawnictwo Helion
W każdej aplikacji mogą wystąpić błędy.Przygotuj się na to pisząc odpowiednią obsługę wyjątków
* Poznaj techniki programowania, dzięki którym Twoje aplikacje staną się odporne na błędy
* Naucz się przewidywać błędy i zapobiegać ich występowaniu
* Zabezpiecz aplikacje przez skutkami wystąpienia błędów stosując odpowiednie wzorce projektowe
Żaden kod nie jest idealny -- nawet najbardziej doświadczony programista popełnia błędy. Tym, co w takich przypadkach wyróżnia doświadczonego programistę jest fakt, że jego aplikacje posiadają mechanizmy pozwalające na obsługę tych błędów. Dzięki nim program nie zawiesi się ani nie "pogubi" żadnych danych. Oczywiście, aby napisać odpowiednią obsługę wyjątków, należy poznać ich typy oraz mechanizmy ich powstawania. Niezbędna jest również znajomość wzorców projektowych oraz narzędzi do testowania kodu.
W książce "Java. Obsługa wyjątków, usuwanie błędów i testowanie kodu" znajdziesz wszystkie te informacje. Dowiesz się, jak zaimplementować obsługę wyjątków i poprawić jakość kodu źródłowego. Poznasz modele wyjątków i nauczysz się zarządzać mechanizmami ich obsługi na poziomie aplikacji i pojedynczych modułów. Przeczytasz tu także o wzorach projektowych zapewniających prawidłową obsługę wyjątków.
* Koncepcje obsługi wyjątków
* Obsługa wyjątków w aplikacjach wielowątkowych
* Przyczyny występowania wyjątków w różnych elementach języka Java
* Programowanie rozproszone w Javie
* Wyjątki w aplikacjach J2EE
* Wzorce projektowe
* Testowanie kodu i usuwanie błędów
Po przeczytaniu tej książki Twoja wiedza pozwoli Ci na podejmowanie odpowiednich decyzje dotyczące architektury aplikacji i odpowiadającego jej modelu wyjątków.
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)Wojciech Seliga
Mój keynote z konferencji w Warszawie - Confitura 2012
Znajomość którego języka jest najważniejsza? Co każdy Java developer powinien wiedzieć o Javie i JVM a jakoś dziwnie często nie wie? Co jest Javowym abecadłem i dlaczego jest tak dużo javowych analfabetów? Dlaczego tropimy astronautów? Jaka jest różnica pomiędzy junior a senior developerem? Jakie cechy charakteru i doświadczenia developerów są najcenniejsze dla pracodawcy? Dlaczego boimy się rozmawiać o pieniądzach i jakie są inne trudne pytania kandydatów? Dlaczego wreszcie pracodawcy często niepoważnie traktują zatrudnianie? Na te pytania Wojtek przedstawi swój, mocno subiektywny, punkt widzenia.
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016PROIDEA
.NET ma zarządzaną pamięć, to wie każdy. Ale jak to wszystko naprawdę działa? Czy mamy się w ogóle czym przejmować? Czy znajomość szczegółów implementacyjnych Garbage Collectora jest nam do czegoś potrzebna i co z tego wynika dla codziennego życia .NET deva? Przyglądając się temu jak CLR zarządza pamięcią z tej i owej strony poznamy przy okazji kilka smaczków, ciekawostek ale i zagrożeń.
Wiktor Toporek: Elm wciąż nie jest tak popularnym rozwiązaniem na środowiskach produkcyjnych, jak chociażby młodszy od niego React. Niezależnie od tego warto go poznać, aby doznać inspiracji, z którą można wrócić do własnego “podwórka” technologicznego. Na prezentacji opowiem o tych cechach Elma, które moim zdaniem są godne naśladowania.
Link do kodu z prezentacji: https://ellie-app.com/3mxcdBDtN9Va1/1
This is my presentation about Red Gate SQL Doc that I have presented on one of the meatings of Lodzka Grupa Profesjonalistow IT & .NET. Presentation in Polish.
Poznaj możliwości platformy J2EE
* Wykorzystaj język XML w aplikacjach bazodanowych
* Zaimplementuj obsługę protokołu SOAP
* Zbuduj aplikacje w oparciu o serwlety i JSP
* Zastosuj w projektach technologię Enterprise Java Beans
Platforma Java 2 Enterprise Edition zdobyła już mocną pozycję na rynku serwerów aplikacji. Dzięki niej możliwe stało się tworzenie aplikacji korporacyjnych zgodnych z podstawowym założeniem przyświecającym twórcom Javy -- "pisz raz, uruchamiaj wszędzie". Najnowsza wersja platformy J2EE została znacznie rozbudowana i zmodernizowana w porównaniu z poprzednimi. Dodano do niej możliwość obsługi usług WWW, rozszerzono i unowocześniono implementacje technologii serwletów i JSP oraz poprawiono wiele komponentów przydatnych przy tworzeniu aplikacji korporacyjnych.
"J2EE. Vademecum profesjonalisty. Wydanie II" to kompletny przewodnik po najnowszej wersji Java 2 Enterprise Edition, napisany przez członków zespołu zajmującego się rozwojem platformy J2EE, zatrudnionych w firmie Sun. Opisuje kluczowe komponenty Java 2 Platform, Enterprise Edition (J2EE) w wersji 1.4. Prezentuje rozwiązania konkretnych problemów napotykanych przez programistów, zilustrowane licznymi przykładami. W książce przedstawiono nie tylko komponenty J2EE, ale również współpracujące z nią technologie: JavaServer Pages Standard Tag Library (JSTL) oraz JavaServer Faces.
* Tworzenie aplikacji internetowej wykorzystującej język XML
* Stosowanie parsera SAX
* Analiza i przetwarzanie hierarchii DOM w dokumentach
* Korzystanie z XPath
* Implementacja usług WWW oraz obsługi protokołu SOAP
* Tworzenie aplikacji z wykorzystaniem serwletów i JSP
* Stosowanie technologii JavaServer Faces
* Projektowanie z wykorzystaniem Enterprise Java Beans
Jeśli chcesz zaprojektować i stworzyć aplikację z wykorzystaniem J2EE, w tej książce znajdziesz wszystkie informacje, jakie mogą Ci być do tego potrzebne.
Tworzenie, zaciemnianie i analiza złośliwego kodu JavaScriptKrzysztof Kotowicz
Ataki malware'u na przeglądarki nieświadomych internautów stają się coraz powszechniejsze. Wciąż powstają nowe techniki pozwalające obejść filtry stosowane przez producentów oprogramowania zabezpieczającego. Z kolei filtry są coraz lepsze, powstają też nowe narzędzia - walka trwa. Na prezentacji dowiecie się, jak włamywacze usiłują utrudnić pracę analizatorom ich kodu i jak reverserzy sobie z tym radzą. Nacisk zostanie położony na słabości narzędzi automatycznych - będziemy usiłowali uniknąć wykrycia przez jsunpack i Capture-HPC, oszukamy też popularny unpacker Deana Edwardsa.
Spring Framework. Profesjonalne tworzenie oprogramowania w JavieWydawnictwo Helion
Poznaj możliwości szkieletu Springi usprawnij proces tworzenia aplikacji J2EE
Spring to szkielet wytwarzania aplikacji (framework), dzięki któremu proces budowania oprogramowania w języku Java dla platformy J2EE staje się znacznie prostszy i efektywniejszy. Spring oferuje usługi, które można z powodzeniem używać w wielu środowiskach -- od apletów po autonomiczne aplikacje klienckie, od aplikacji internetowych pracujących w prostych kontenerach serwletów po złożone systemy korporacyjne pracujące pod kontrolą rozbudowanych serwerów aplikacji J2EE. Spring pozwala na korzystanie z możliwości programowania aspektowego, znacznie sprawniejszą obsługę relacyjnych baz danych, błyskawiczne budowanie graficznych interfejsów użytkownika oraz integrację z innymi szkieletami takimi, jak Struts czy JSF.
Książka "Spring Framework. Profesjonalne tworzenie oprogramowania w Javie" odkryje przed Tobą wszystkie tajniki stosowania Springa w procesie wytwarzania systemów informatycznych dla platformy J2EE. Dowiesz się, jak efektywnie korzystać z najważniejszych składników szkieletu Spring i poznasz ich rolę w budowaniu aplikacji. Nauczysz się nie tylko tego, co można zrealizować za pomocą poszczególnych usług, ale także tego, w jaki sposób zrobić to najlepiej. W kolejnych ćwiczeniach przeanalizujesz proces tworzenie kompletnej aplikacji w oparciu o Spring.
W książce poruszono m.in. tematy:
* Struktura szkieletu Spring
* Tworzenie komponentów i definiowanie zależności pomiędzy nimi
* Testowanie aplikacji i testy jednostkowe
* Programowanie aspektowe w Spring
* Połączenia z relacyjnymi bazami danych za pomocą JDBC
* Zarządzanie transakcjami
* Korzystanie z mechanizmu Hibernate
* Zabezpieczanie aplikacji
* Stosowanie szkieletu Web MVC
Przekonaj się, jak Spring może zmienić Twoją pracęnad tworzeniem aplikacji J2EE.
Java. Obsługa wyjątków, usuwanie błędów i testowanie koduWydawnictwo Helion
W każdej aplikacji mogą wystąpić błędy.Przygotuj się na to pisząc odpowiednią obsługę wyjątków
* Poznaj techniki programowania, dzięki którym Twoje aplikacje staną się odporne na błędy
* Naucz się przewidywać błędy i zapobiegać ich występowaniu
* Zabezpiecz aplikacje przez skutkami wystąpienia błędów stosując odpowiednie wzorce projektowe
Żaden kod nie jest idealny -- nawet najbardziej doświadczony programista popełnia błędy. Tym, co w takich przypadkach wyróżnia doświadczonego programistę jest fakt, że jego aplikacje posiadają mechanizmy pozwalające na obsługę tych błędów. Dzięki nim program nie zawiesi się ani nie "pogubi" żadnych danych. Oczywiście, aby napisać odpowiednią obsługę wyjątków, należy poznać ich typy oraz mechanizmy ich powstawania. Niezbędna jest również znajomość wzorców projektowych oraz narzędzi do testowania kodu.
W książce "Java. Obsługa wyjątków, usuwanie błędów i testowanie kodu" znajdziesz wszystkie te informacje. Dowiesz się, jak zaimplementować obsługę wyjątków i poprawić jakość kodu źródłowego. Poznasz modele wyjątków i nauczysz się zarządzać mechanizmami ich obsługi na poziomie aplikacji i pojedynczych modułów. Przeczytasz tu także o wzorach projektowych zapewniających prawidłową obsługę wyjątków.
* Koncepcje obsługi wyjątków
* Obsługa wyjątków w aplikacjach wielowątkowych
* Przyczyny występowania wyjątków w różnych elementach języka Java
* Programowanie rozproszone w Javie
* Wyjątki w aplikacjach J2EE
* Wzorce projektowe
* Testowanie kodu i usuwanie błędów
Po przeczytaniu tej książki Twoja wiedza pozwoli Ci na podejmowanie odpowiednich decyzje dotyczące architektury aplikacji i odpowiadającego jej modelu wyjątków.
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)Wojciech Seliga
Mój keynote z konferencji w Warszawie - Confitura 2012
Znajomość którego języka jest najważniejsza? Co każdy Java developer powinien wiedzieć o Javie i JVM a jakoś dziwnie często nie wie? Co jest Javowym abecadłem i dlaczego jest tak dużo javowych analfabetów? Dlaczego tropimy astronautów? Jaka jest różnica pomiędzy junior a senior developerem? Jakie cechy charakteru i doświadczenia developerów są najcenniejsze dla pracodawcy? Dlaczego boimy się rozmawiać o pieniądzach i jakie są inne trudne pytania kandydatów? Dlaczego wreszcie pracodawcy często niepoważnie traktują zatrudnianie? Na te pytania Wojtek przedstawi swój, mocno subiektywny, punkt widzenia.
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016PROIDEA
.NET ma zarządzaną pamięć, to wie każdy. Ale jak to wszystko naprawdę działa? Czy mamy się w ogóle czym przejmować? Czy znajomość szczegółów implementacyjnych Garbage Collectora jest nam do czegoś potrzebna i co z tego wynika dla codziennego życia .NET deva? Przyglądając się temu jak CLR zarządza pamięcią z tej i owej strony poznamy przy okazji kilka smaczków, ciekawostek ale i zagrożeń.
Wiktor Toporek: Elm wciąż nie jest tak popularnym rozwiązaniem na środowiskach produkcyjnych, jak chociażby młodszy od niego React. Niezależnie od tego warto go poznać, aby doznać inspiracji, z którą można wrócić do własnego “podwórka” technologicznego. Na prezentacji opowiem o tych cechach Elma, które moim zdaniem są godne naśladowania.
Link do kodu z prezentacji: https://ellie-app.com/3mxcdBDtN9Va1/1
2. O mnie
• Student V roku na MIMUWie
• Od dwóch lat związany z Javą
• Ciąglę się uczę nowych technologii
• Prowadzę blog Mocna Kawa (blog.mocna-
kawa.com)
2
8. Facelets - odejście od JSP
• JSP zostało stworzone do generowania
dynamicznej treści, a nie do tworzenia
drzewa komponentów
7
9. Facelets - odejście od JSP
• JSP zostało stworzone do generowania
dynamicznej treści, a nie do tworzenia
drzewa komponentów
• Dwa różne cykle życia
7
10. Facelets - odejście od JSP
• JSP zostało stworzone do generowania
dynamicznej treści, a nie do tworzenia
drzewa komponentów
• Dwa różne cykle życia
• Content Interweaving issues
7
19. Facelets - nie
powiedziałem o:
• bardzo proste szablony,
10
20. Facelets - nie
powiedziałem o:
• bardzo proste szablony,
• widok można rozwijać na żywo,
10
21. Facelets - nie
powiedziałem o:
• bardzo proste szablony,
• widok można rozwijać na żywo,
• wsparcie dla JSTL,
10
22. Facelets - nie
powiedziałem o:
• bardzo proste szablony,
• widok można rozwijać na żywo,
• wsparcie dla JSTL,
• łatwiejsze dodawanie nowych
komponentów,
10
23. Facelets - nie
powiedziałem o:
• bardzo proste szablony,
• widok można rozwijać na żywo,
• wsparcie dla JSTL,
• łatwiejsze dodawanie nowych
komponentów,
• komponenty kompozycyjne.
10
45. Spring
• IoC, DI, AOP, Hollywood Principle,
JEE, MVC, JTA...
• Nie narzuca nam określonego
modelu programowania,
19
46. Spring
• IoC, DI, AOP, Hollywood Principle,
JEE, MVC, JTA...
• Nie narzuca nam określonego
modelu programowania,
• lekki i dobrze udokumentowany,
19
47. Spring
• IoC, DI, AOP, Hollywood Principle,
JEE, MVC, JTA...
• Nie narzuca nam określonego
modelu programowania,
• lekki i dobrze udokumentowany,
• łatwość testowania, rozszerzania,
19
48. Spring
• IoC, DI, AOP, Hollywood Principle,
JEE, MVC, JTA...
• Nie narzuca nam określonego
modelu programowania,
• lekki i dobrze udokumentowany,
• łatwość testowania, rozszerzania,
• daje dość dużą radość.
19
52. #{ziarnoPrawdy}
JSF standardowo sprawdza czy jest
gdzieś w swoim kontekście.
21
53. #{ziarnoPrawdy}
JSF standardowo sprawdza czy jest
gdzieś w swoim kontekście.
jeśli nic nie znaleziono
JSF deleguje jego znalezienie do Springa
21
54. #{ziarnoPrawdy}
JSF standardowo sprawdza czy jest
gdzieś w swoim kontekście.
jeśli nic nie znaleziono
JSF deleguje jego znalezienie do Springa
<variable-resolver> org.springframework.web.jsf.DelegatingVariableResolver </variable-resolver>
21
58. Model - Role
@NamedQueries({
@NamedQuery(name = quot;Role.findAllquot;, query = quot;SELECT role FROM Role rolequot;),
@NamedQuery(name = quot;Role.findByRoleNamequot;, query = quot;SELECT role FROM Role
role WHERE role.roleName = :roleNamequot;)
})
@Entity
public class Role {
@Id
@GeneratedValue
private Integer id;
private String roleName;
...
}
24
59. Model - User
@NamedQueries({
@NamedQuery(name = quot;User.findAllquot;, query = quot;SELECT user FROM User userquot;),
@NamedQuery(name = quot;User.findByLoginquot;, query = quot;SELECT user FROM User user WHERE user.login
= :loginquot;)
})
@Entity
public class User {
@Id
@GeneratedValue
private Integer id;
private String login;
private String password;
@OneToMany(cascade = {CascadeType.MERGE, CascadeType.PERSIST}, fetch = FetchType.EAGER)
private List<Role> roles;
...
}
25
60. DAO
public interface RoleDao {
public List<Role> findAll();
public Role findById(Integer id);
public Role findByRoleName(String roleName);
public void save(Role role);
public void delete(Role role);
}
26
61. DAO à la Spring
public class JpaRoleDao extends JpaDaoSupport implements RoleDao {
public List<Role> findAll() {
return getJpaTemplate().findByNamedQuery(quot;Role.findAllquot;);
}
public Role findById(Integer id) {
return getJpaTemplate().find(Role.class, id);
}
public void save(Role role) {
getJpaTemplate().merge(role);
}
public void delete(Role role) {
getJpaTemplate().remove(getJpaTemplate().merge(role));
}
}
27
65. Testowanie w Springu
• Możliwe różne konfiguracje w zależności
od potrzeb,
• testy też podlegają wstrzyknięciu
zależności,
29
66. Testowanie w Springu
• Możliwe różne konfiguracje w zależności
od potrzeb,
• testy też podlegają wstrzyknięciu
zależności,
• dla JPA mamy użyteczną klasę
AbstractJpaTests.
29
78. Drobne słowo o
t:selectManyCheckbox
• Kiedy klasa nie jest standardowa to trzeba
opakowywać w SelectItem,
• t:selectItem robi to za nas,
• ale i tak trzeba napisać konwerter.
32
80. Jak można sobie
pomóc?
• Wiele IDE ma wsparcie do konfigurowania
projektu (NetBeans, IntelliJ Idea),
33
81. Jak można sobie
pomóc?
• Wiele IDE ma wsparcie do konfigurowania
projektu (NetBeans, IntelliJ Idea),
• AppFuse,
33
82. Jak można sobie
pomóc?
• Wiele IDE ma wsparcie do konfigurowania
projektu (NetBeans, IntelliJ Idea),
• AppFuse,
• generatory Seam,
33
83. Jak można sobie
pomóc?
• Wiele IDE ma wsparcie do konfigurowania
projektu (NetBeans, IntelliJ Idea),
• AppFuse,
• generatory Seam,
• pisać własne generatory,
33
84. Jak można sobie
pomóc?
• Wiele IDE ma wsparcie do konfigurowania
projektu (NetBeans, IntelliJ Idea),
• AppFuse,
• generatory Seam,
• pisać własne generatory,
• “Great frameworks are extracted, not
created”.
33