Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Spring & Hibernate - Eine praxisbezogene Einführung

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

Carl Hanser Fachbuchverlag, 2008

ISBN: 9783446416307, 320 Seiten

2. Auflage

Format: PDF, OL

Mac OSX,Windows PC,Mac OSX,Windows PC Bookeen Cybook Orizon,Ectaco Lite,Aluratek Libre,eLyricon EBX-500.TFT,PocketBook 302,FlatReader,BeBook 'One',iRiver Story,Sony Reader PRS-3xx,Bookeen CyBook Opus,Hanvon/Hexaglot N518,PocketBook 301+,COOL-ER eReader,Inves-Book 600,eLyricon EBX-600.E-Ink, Bookeen CyBook Gen3 ab Rev: 1.9,Italica Reader,Sony Reader PRS-505, -6xx, -7xx,Pocketbook 360,Hanvon N516 Weltbild Apple iPad, Android Tablet PC's Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 34,90 EUR

  • Enterprise JavaBeans - Die 3. Generation
    Schnelleinstieg in die Windows PowerShell
    JBoss Seam - Die Web-Beans-Implementierung
    Eclipse Web Tools Platform - Java EE, Webanwendungen und Web Services mit WTP
    Struts 2 im Einsatz
    Solaris 9 Systemadministration in 21 Tagen
    Oracle, Java, XML - Integration in Oracle9i
    C /C++ Referenz - Studienausgabe
  • OpenSolaris für Anwender, Administratoren und Rechenzentren
    Java Server Faces - Ein Arbeitsbuch für die Praxis
    XML mit Java - Professionell einsteigen.
    VMware vSphere 4 - Das umfassende Handbuch

     

     

     

     

     

 

Mehr zum Inhalt

Spring & Hibernate - Eine praxisbezogene Einführung


 

Inhaltsverzeichnis

6

Vorwort

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

28

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 Konfiguration 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 Identifier-Properties

65

5.3.1 Manuell vergebene Schlüssel

65

5.3.2 Automatisch generierte Schl ¨ussel

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 Unidirektionale Beziehungen rückwärts navigieren

89

5.4.7 Lazy Loading

90

5.5 Mapping von Vererbung

92

5.5.1 Eine Tabelle für die ganze Klassenhierarchie

93

5.5.2 Eine Tabelle pro Klasse

96

5.5.3 Eine Tabelle pro konkreter Subklasse

97

5.5.4 Polymorphe Beziehungen

97

5.6 Mapping mit XML

98

5.7 Weitere Mapping-Elemente

99

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

110

6.3 Spring-Beans und ihre Definitionen

111

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

119

6.3.4 Der Life-Cycle von Spring-Beans

122

6.4 Spring Inversion-of-Control-Container

124

6.4.1 Die Bean-Factory-Schnittstelle

124

6.4.2 Weitergehende Funktionalität mit demApplication-Context

125

6.5 Individualisieren des Containers

127

6.5.1 Veränderung von Bean-Definitionen

127

6.5.2 Nachbearbeitung von Beans

129

6.5.3 Definition individueller Property-Editors

131

Kapitel 7 Die Datenzugriffsschicht

134

7.1 Vorteile von Spring im Kontext einesO/R-Mappers

135

7.2 Hibernate-Konfiguration mit Spring

136

7.2.1 Definition der JDBC-DataSource

136

7.2.2 Definition der Hibernate-SessionFactory

137

7.3 Abfragen mit einem Data-Access-Objekt

139

7.3.1 Objekte mit dem Primärschlüssel laden

139

7.3.2 Konfiguration der DAO-Klasse als Spring-Bean

140

7.3.3 Eine DAO-Finder-Methode

140

7.4 Test der DAO-Klassen

142

7.4.1 Das Spring-Test-Framework

142

7.4.2 Test einer DAO-Abfrage-Methode

144

7.4.3 Weitere Methoden in der Spring-Test-Klassenhierarchie

147

7.4.4 Initialisierung der Test-Klasse

148

7.4.5 Autowire by Name

148

7.5 Weitere Features der Hibernate Query Language

149

7.5.1 Die select-Klausel

149

7.5.2 Funktionen

150

7.5.3 Die from-Klausel

151

7.5.4 Die where-Klausel

152

7.5.5 Subquery

152

7.5.6 Gruppierung

153

7.6 Zusätzliche Hibernate-Zugriffsmöglichkeiten

153

7.6.1 Weitere Methoden in HibernateTemplate

153

7.6.2 Die HibernateCallback-Klasse

156

7.6.3 Eine Paged-Abfrage

156

7.6.4 DAO-Implementierung ohne HibernateDaoSupport

158

7.6.5 DAO-Implementierung ohne Spring

158

7.7 Die Criteria-API

160

7.7.1 Ein Criteria-basiertes Beispiel

160

7.7.2 Test einer Criteria-basierten Methode

161

7.7.3 Query-by-Example

161

7.7.4 Aggregat-Funktionen

163

7.8 DAO-Schreibmethoden

164

7.8.1 Neue Objekte speichern

164

7.8.2 Aktualisieren eines persistenten Objekts

165

7.8.3 Aktualisieren eines detachten Objekts

165

7.8.4 Das Flush-Problem in Tests

166

7.9 Arbeiten mit Stored Procedures

168

7.9.1 Aufruf über JDBC

168

7.9.2 Aufruf über Spring

169

7.9.3 Aufruf über Hibernate

170

7.9.4 Empfehlung

171

Kapitel 8 Services mit Spring

172

8.1 Allgemeine Themen bei der Implementierungder Service-Schicht

172

8.2 Der Use-Case ”Pizza-Bestellung&ldquo

175

8.2.1 Implementierung einer Service-Methode

175

8.2.2 Test der Service-Methode

177

8.3 Aufnehmen einer weiterenin einer Bestellung

178

8.3.1 Testen mit Mock-Objekten

179

8.4 Spring AOP – einfach und mächtig

182

8.4.1 Konzept des Aspect-Oriented Programming

182

8.4.2 Spring-AOP: Annotations und XML

184

8.4.3 Pointcuts in Spring

185

8.4.4 Advices in Spring

186

8.4.5 Bin¨arcode erzeugen – JDK versus CGLIB

190

8.4.6 Testen des Aspekts

190

8.4.7 Das Spring-Aspekt-Toolset

192

8.5 Transaktionen in Spring

194

8.5.1 Grundlagen und das ACID-Prinzip

195

8.5.2 Der Transaktionsmanager

196

8.5.3 Beeinflussung des Transaktionsverhaltens

198

8.5.4 Transaktionsverläufe

200

8.5.5 Deklarative Transaktionsdurchführung

202

8.5.6 Programmatische Transaktionsdurchführung

208

8.5.7 Durchführung von Transaktionstests

210

Kapitel 9 Webanwendungen mit Spring und Hibernate

214

9.1 Die Beispielanwendungen

214

9.2 Spring und Webanwendungen

217

9.2.1 Laden des Application-Contexts

218

9.2.2 Integration mit JavaServer Faces

220

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

235

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

247

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

9.5 Alles im Fluss mit Spring Web Flow

259

9.5.1 Endlich automatisch

261

9.5.2 Spring Web Flow mit JavaServer Faces

263

9.5.3 Flow-Persistence-Context

266

9.6 Testmöglichkeiten

272

9.6.1 Test von JSF-Komponenten und Spring

272

9.6.2 Testbeispiel Bestellvorgang

275

Kapitel 10 Integration in die JEE-Welt

280

10.1 Eine RMI-Anbindung

282

10.1.1 Exportieren der Service-Schnittstelle

283

10.1.2 Konfiguration der Client-Anbindung

284

10.1.3 Implementierung der Client-Klasse

285

10.2 Die EJB-Schicht der Opiz-Anwendung

286

10.3 Implementierung einer Stateless-Session-Bean

287

10.3.1 Die Remote- und Home-Schnittstellen

287

10.3.2 Die Implementierung der Session-Bean

288

10.3.3 Die BeanFactory finden

289

10.3.4 Deployment

291

10.4 Stateful-Session-Beans

292

10.4.1 Remote- und Home-Schnittstellen

292

10.4.2 Die Implementierung der Stateful-Session-Bean

293

10.4.3 Deployment

294

10.5 Message-Driven-Beans

294

10.6 Client-Anbindung an den EJB-Container

294

10.6.1 Zugriff auf eine Stateless-Session-Bean

295

10.6.2 Zugriff auf eine Stateful-Session-Bean

297

10.7 Testmöglichkeiten

299

10.8 Springs Unterstützung für JMX

301

10.8.1 Registrierung der Spring-Beans beim JMX-Server

302

10.8.2 Konfiguration mit einem Interface

303

10.8.3 Konfiguration mit Annotations

304

10.8.4 JMX ohne einen Applikations-Server?

306

10.9 Spring-Integration von JCA

308

10.9.1 Konfiguration des Resource-Adapters

309

10.9.2 Nutzung des Resource-Adapters

310

Stichwortverzeichnis

314