ZAWWW-2st1.2-w12.tresc-1.0-Slajd25

Z Studia Informatyczne
Wersja z dnia 19:32, 28 sie 2006 autorstwa Juliusz Jezierski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Spring DAO

Spring DAO


Data Access Object (DAO) to powszechnie stosowany wzorzec projektowy dostępu do danych zewnętrznych zakładający rozdzielenie kodu odpowiedzialnego za trwałość obiektów od kodu implementującego reguły biznesowe. Spring wspiera konsekwentnie stosowanie tego wzorca i dostarcza rozwiązań ułatwiających implementację wzorca DAO w aplikacjach. Spring oferuje wsparcie zarówno dla interfejsu JDBC, jak i istniejących narzędzi odwzorowania obiektowo-relacyjnego: Hibernate, JDO, iBATIS SQL Maps. Istnieje także możliwość integracji z bardziej złożonymi systemami, np. z Toplink. Według autorów architektury Spring, interfejs JDBC jest w praktyce źródłem bardzo wielu błędów i przyczyną niskiej efektywności aplikacji. W szczególności, ręczne zarządzanie podstawowymi obiektami JDBC, takimi jak Connection, ResultSet, czy Statement prowadzi często do złych rozwiązań. Spring w pełni automatyzuje zarządzanie wszystkimi obiektami JDBC oraz zamienia nieczytelną i skomplikowaną hierarchię wyjątków JDBC na własną uproszczoną i uniwersalną hierarchię wyjątków. Dzięki automatycznemu zarządzaniu obiektami JDBC przestają być konieczne powtarzające się bloki try/catch/finally obsługujące wyjątki konkretnego producenta. Dodatkowo, wszystkie połączenia nawiązywane z bazą danych są zawsze zamykane przez kontener Spring i nie ma niebezpieczeństwa "wycieku" zasobów, w tym przypadku puli dostępnych połączeń. Dostarczona przez Spring API klasa JdbcTemplate umożliwia pisanie w pełni uniwersalnego kodu, który abstrahuje od wykorzystywanej aktualnie bazy danych. Podobnie uniwersalna hierarchia wyjątków automatycznie tłumaczy wyjątki konkretnego dostawcy sterownika JDBC, dzięki czemu warstwa korzystająca ze Spring DAO jest rzeczywiście w pełni niezależna od aktualnej bazy danych.


<< Poprzedni slajd | Spis treści | Następny slajd >>