Spring und Hibernate - Eine praxisbezogene Einführung

Spring und Hibernate - Eine praxisbezogene Einführung

von: Richard Oates, Thomas Langer, Torsten Lueckow, Gerald Bachlmayr, Stefan Wille

Carl Hanser Fachbuchverlag, 2006

ISBN: 9783446410152

Sprache: Deutsch

300 Seiten, Download: 2467 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop


 

eBook anfordern

Mehr zum Inhalt

Spring und Hibernate - Eine praxisbezogene Einführung



  Inhaltsverzeichnis 6  
  Danksagung 14  
     Unsere Reviewer 14  
  Kapitel 1 Einleitung 16  
     1.1 Für wen ist dieses Buch? 16  
     1.2 Organisation des Buches 17  
     1.3 Web-Site zum Buch 18  
  Kapitel 2 Überblick und Installation 20  
     2.1 Management Summary 20  
        2.1.1 Was ist Spring? 20  
        2.1.2 Was ist Hibernate? 21  
        2.1.3 Kombination von Spring und Hibernate 21  
     2.2 Installation 22  
        2.2.1 Download von Spring 23  
        2.2.2 Download von Hibernate 24  
        2.2.3 Ein IDE-Projekt mit Hibernate einrichten 25  
        2.2.4 Ein Spring-Projekt 26  
  Kapitel 3 Software-Architektur der Beispielanwendung 28  
     3.1 Opiz – Online-Pizza-Dienst 28  
        3.1.1 Fachliche Use-Cases 29  
        3.1.2 Domain-Modell 30  
        3.1.3 Organisation in Eclipse 32  
     3.2 Architektur-Überblick 32  
        3.2.1 High-Level-Architektur 32  
        3.2.2 Data-Access-Objekt-Schicht 34  
        3.2.3 Service-Schicht 35  
        3.2.4 Präsentationsschicht bei Web-Anwendungen 36  
  Kapitel 4 Einführung in Hibernate 38  
     4.1 Hibernate als O/R-Mapper 38  
     4.2 Überblick über die Hibernate-Architektur 40  
        4.2.1 Persistente Klassen 40  
        4.2.2 Die Hibernate-Session 41  
        4.2.3 Hibernate-Session-Factory 41  
        4.2.4 Hibernate-Mapping 42  
     4.3 Hibernate in der Praxis 43  
        4.3.1 Mapping mit Annotations 44  
        4.3.2 Kon.guration der Session-Factory 46  
        4.3.3 Verzeichnisstruktur 48  
        4.3.4 Initialisierung der Session-Factory 48  
        4.3.5 Speichern eines Objekts 49  
        4.3.6 Laden eines Objekts 52  
        4.3.7 Suchen eines Objekts 53  
        4.3.8 Verändern eines Objekts 55  
        4.3.9 Löschen eines Objekts 56  
        4.3.10 Exception-Handling 56  
        4.3.11 Logging 56  
     4.4 Persistency-Lifecycle 58  
  Kapitel 5 O/R-Mapping mit Hibernate 60  
     5.1 Mapping von persistenten Klassen 61  
     5.2 Mapping von einfachen Properties 61  
        5.2.1 Persistente Properties 61  
        5.2.2 Spalteneigenschaften festlegen 62  
        5.2.3 Enumerations 63  
        5.2.4 Zeitbasierte Properties 64  
        5.2.5 Blobs und Clobs 64  
     5.3 Mapping von Identfier-Properties 65  
        5.3.1 Manuell vergebene Schlüssel 65  
        5.3.2 Automatisch generierte Schlüssel 66  
        5.3.3 Natürliche Schlüssel 68  
     5.4 Mapping von Beziehungen 69  
        5.4.1 1:N-Beziehungen 69  
        5.4.2 Bags, Lists, Arrays, Sets, Collections und Maps 77  
        5.4.3 Equals und HashCode implementieren 79  
        5.4.4 M:N-Beziehungen 81  
        5.4.5 1:1-Beziehungen 84  
        5.4.6 Lazy Loading 89  
     5.5 Mapping von Vererbung 91  
        5.5.1 Eine Tabelle für die ganze Klassenhierarchie 92  
        5.5.2 Eine Tabelle pro Klasse 95  
        5.5.3 Eine Tabelle pro konkreter Subklasse 96  
        5.5.4 Polymorphe Beziehungen 96  
     5.6 Mapping mit XML 97  
     5.7 Weitere Mapping-Elemente 98  
  Kapitel 6 Einführung in Spring 100  
     6.1 Grundlagen 100  
        6.1.1 Lightweight-Container 100  
        6.1.2 Inversion of Control 101  
        6.1.3 Dependency-Injection 102  
     6.2 Überblick und Einstieg in Spring 104  
        6.2.1 Übersicht über die Spring-Module 104  
        6.2.2 Erstellung eines Spring-Projekts 107  
        6.2.3 Konfiguration des Application-Contexts 109  
     6.3 Spring-Beans und ihre Definitionen 110  
        6.3.1 Erzeugung einer Spring-Bean 111  
        6.3.2 Properties und Abhängigkeiten von Spring-Beans 113  
        6.3.3 Collections und andere Util-Klassen 118  
        6.3.4 Der Life-Cycle von Spring-Beans 121  
     6.4 Spring Inversion-of-Control-Container 124  
        6.4.1 Die Bean-Factory-Schnittstelle 124  
        6.4.2 Weitergehende Funktionalität mit dem Application-Context 125  
     6.5 Individualisieren des Containers 126  
        6.5.1 Veränderung von Bean-Definitionen 127  
        6.5.2 Nachbearbeitung von Beans 129  
  Kapitel 7 Die Datenzugriffsschicht 132  
     7.1 Vorteile von Spring im Kontext eines O/R-Mappers 133  
     7.2 Hibernate-Konfiguration mit Spring 134  
        7.2.1 Definition der JDBC-DataSource 134  
        7.2.2 Definition der Hibernate-SessionFactory 135  
     7.3 Abfragen mit einem Data-Access-Objekt 136  
        7.3.1 Objekte mit dem Primärschlüssel laden 137  
        7.3.2 Konfiguration der DAO-Klasse als Spring-Bean 138  
        7.3.3 Eine DAO-Finder-Methode 138  
     7.4 Test der DAO-Klassen 139  
        7.4.1 Das Spring-Test-Framework 140  
        7.4.2 Test einer DAO-Abfrage-Methode 141  
        7.4.3 Weitere Methoden in der Spring-Test-Klassenhierarchie 145  
        7.4.4 Initialisierung der Test-Klasse 145  
        7.4.5 Autowire by Name 146  
     7.5 Weitere Features der Hibernate Query Language 147  
        7.5.1 Die select-Klausel 147  
        7.5.2 Funktionen 148  
        7.5.3 Die where-Klausel 148  
        7.5.4 Subquery 149  
     7.6 Zusätzliche Hibernate-Zugriffsmöglichkeiten 149  
        7.6.1 Weitere Methoden in HibernateTemplate 150  
        7.6.2 Die HibernateCallback-Klasse 152  
        7.6.3 Eine Paged-Abfrage 153  
        7.6.4 DAO-Implementierung ohne HibernateDaoSupport 154  
        7.6.5 DAO-Implementierung ohne Spring 155  
     7.7 Die Criteria-API 156  
        7.7.1 Ein Criteria-basiertes Beispiel 156  
        7.7.2 Test einer Criteria-basierten Methode 157  
        7.7.3 Query-by-Example 157  
        7.7.4 Aggregat-Funktionen 159  
     7.8 DAO-Schreibmethoden 160  
        7.8.1 Neue Objekte speichern 160  
        7.8.2 Aktualisieren eines persistenten Objekts 161  
        7.8.3 Aktualisieren eines detachten Objekts 162  
        7.8.4 Das Flush-Problem in Tests 162  
     7.9 Arbeiten mit Stored Procedures 164  
        7.9.1 Aufruf über JDBC 165  
        7.9.2 Aufruf über Spring 165  
        7.9.3 Aufruf über Hibernate 166  
        7.9.4 Empfehlung 167  
  Kapitel 8 Services mit Spring 168  
     8.1 Allgemeine Themen bei der Implementierung der Service-Schicht 168  
        Bereitstellung der Geschäftslogik 169  
        Data-Transfer-Objekte 170  
        Client-Zugriff auf der Service-Schicht 171  
        Enwicklung mit dem Spring-Framework 171  
     8.2 Der Use-Case Pizza-Bestellung 171  
        8.2.1 Implementierung einer Service-Methode 171  
        8.2.2 Test der Service-Methode 173  
     8.3 Aufnehmen einer weiteren Pizza in einer Bestellung 174  
        8.3.1 Testen mit Mock-Objekten 175  
     8.4 Spring AOP - einfach und mächtig 178  
        8.4.1 Konzept des Aspect-Oriented Programming 178  
        8.4.2 Spring-AOP: Annotations und XML 180  
        8.4.3 Pointcuts in Spring 181  
        8.4.4 Advices in Spring 182  
        8.4.5 Binärcode erzeugen – JDK versus CGLIB 186  
        8.4.6 Testen des Aspekts 187  
        8.4.7 Das Spring-Aspekt-Toolset 188  
        8.4.8 AOP mit Spring 1.2 190  
     8.5 Transaktionen in Spring 193  
        8.5.1 Grundlagen und das ACID-Prinzip 194  
        8.5.2 Der Transaktionsmanager 195  
        8.5.3 Beein.ussung des Transaktionsverhaltens 197  
        8.5.4 Transaktionsverläufe 198  
        8.5.5 Deklarative Transaktionsdurchführung 201  
        8.5.6 Programmatische Transaktionsdurchführung 207  
        8.5.7 Durchführung von Transaktionstests 210  
        8.5.8 Transaktionen mit Spring 1.2 211  
  Kapitel 9 Webanwendungen mit Spring und Hibernate 214  
     9.1 Die Beispielanwendung 214  
     9.2 Spring und Webanwendungen 217  
        9.2.1 Laden des Application-Contexts 217  
        9.2.2 Integration mit JavaServer Faces 219  
        9.2.3 Gültigkeitsbereich von Spring-Beans 222  
     9.3 Hibernate und Webanwendungen 224  
        9.3.1 OpenSessionInViewFilter 224  
        9.3.2 Detached Objekte 227  
        9.3.3 NonUniqueObjectException 232  
        9.3.4 Behandlung von Exceptions 234  
        9.3.5 Konkurrierender Zugriff 236  
        9.3.6 Nebenläufigkeit 237  
        9.3.7 Connection-Pooling 239  
        9.3.8 Caching 241  
     9.4 Zugriffsschutz mit Acegi 246  
        9.4.1 Authentifizierung 248  
        9.4.2 Autorisierung 252  
        9.4.3 Filter in Reihenschaltung 254  
        9.4.4 Acegi-Tags 257  
        9.4.5 Acegi und JSF 257  
  Kapitel 10 Integration in die JEE-Welt 260  
     10.1 Eine RMI-Anbindung 262  
        10.1.1 Exportieren der Service-Schnittstelle 262  
        10.1.2 Konfiguration der Client-Anbindung 264  
        10.1.3 Implementierung der Client-Klasse 265  
     10.2 Die EJB-Schicht der Opiz-Anwendung 266  
     10.3 Implementierung einer Stateless-Session-Bean 267  
        10.3.1 Die Remote- und Home-Schnittstellen 267  
        10.3.2 Die Implementierung der Session-Bean 268  
        10.3.3 Die BeanFactory .nden 269  
        10.3.4 Deployment 271  
     10.4 Stateful-Session-Beans 272  
        10.4.1 Remote- und Home-Schnittstellen 272  
        10.4.2 Die Implementierung der Stateful-Session-Bean 273  
        10.4.3 Deployment 274  
     10.5 Message-Driven-Beans 274  
     10.6 Client-Anbindung an den EJB-Container 274  
        10.6.1 Zugriff auf eine Stateless-Session-Bean 275  
        10.6.2 Zugriff auf eine Stateful-Session-Bean 278  
     10.7 Test-Möglichkeiten 280  
     10.8 Spring Unterstützung für JMX 284  
        10.8.1 Registrierung der Spring-Beans beim JMX-Server 284  
        10.8.2 Konfiguration mit einem Interface 285  
        10.8.3 Konfiguration mit Annotations 286  
        10.8.4 JMX ohne einen Applikations-Server? 288  
     10.9 Spring-Integration von JCA 289  
        10.9.1 Konfiguration des Resource-Adapters 290  
        10.9.2 Nutzung des Resource-Adapters 292  
  Stichwortverzeichnis 296  
  Mehr eBooks bei www.ciando.com 0  

Kategorien

Service

Info/Kontakt