Foreword |
|
xv | |
About the Authors |
|
xvii | |
About the Technical Reviewer |
|
xix | |
Acknowledgments |
|
xxi | |
Introduction |
|
xxiii | |
PART 1 Getting Started with Spring |
|
|
CHAPTER 1 Introducing Spring |
|
|
3 | (12) |
|
|
3 | (7) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
13 | (2) |
|
CHAPTER 2 Getting Started |
|
|
15 | (20) |
|
Obtaining the Spring Framework |
|
|
16 | (1) |
|
Understanding Spring Packaging |
|
|
17 | (2) |
|
Analyzing Spring Dependencies |
|
|
19 | (3) |
|
|
22 | (2) |
|
|
24 | (1) |
|
Verifying Your Spring Distribution |
|
|
24 | (1) |
|
Putting a Spring into Hello World |
|
|
24 | (8) |
|
|
32 | (3) |
|
CHAPTER 3 The Sample Application |
|
|
35 | (14) |
|
Requirements of the SpringBlog Application |
|
|
36 | (7) |
|
|
43 | (3) |
|
|
46 | (3) |
PART 2 Spring Basics |
|
|
CHAPTER 4 Introducing Inversion of Control |
|
|
49 | (44) |
|
Inversion of Control and Dependency Injection |
|
|
50 | (1) |
|
Types of Inversion of Control |
|
|
50 | (7) |
|
Inversion of Control in Spring |
|
|
57 | (1) |
|
Dependency Injection with Spring |
|
|
57 | (3) |
|
Configuring the BeanFactory |
|
|
60 | (32) |
|
|
92 | (1) |
|
CHAPTER 5 Beyond the Basics |
|
|
93 | (64) |
|
Spring's Impacts on Application Portability |
|
|
94 | (1) |
|
Bean Lifecycle Management |
|
|
95 | (15) |
|
Making Your Beans "Spring Aware" |
|
|
110 | (5) |
|
|
115 | (12) |
|
|
127 | (5) |
|
JavaBeans PropertyEditors |
|
|
132 | (9) |
|
The Spring ApplicationContext |
|
|
141 | (13) |
|
|
154 | (3) |
PART 3 Aspect Oriented Programming with Spring |
|
|
CHAPTER 6 Introducing Spring AOP |
|
|
157 | (48) |
|
|
158 | (1) |
|
|
159 | (1) |
|
|
160 | (23) |
|
Advisors and Pointcuts in Spring |
|
|
183 | (14) |
|
|
197 | (7) |
|
|
204 | (1) |
|
CHAPTER 7 More on Spring A0P |
|
|
205 | (44) |
|
Advanced Use of Pointcuts |
|
|
206 | (7) |
|
Getting Started with Introductions |
|
|
213 | (8) |
|
Framework Services for AOP |
|
|
221 | (13) |
|
|
234 | (4) |
|
AOP in the Sample Application |
|
|
238 | (7) |
|
|
245 | (4) |
PART 4 Data Access with Spring |
|
|
CHAPTER 8 Spring JDBC Support |
|
|
249 | (30) |
|
Exploring the JDBC Infrastructure |
|
|
250 | (3) |
|
Spring JDBC Infrastructure |
|
|
253 | (1) |
|
Database Connections and DataSources |
|
|
254 | (2) |
|
Using DataSources in DAO Classes |
|
|
256 | (2) |
|
|
258 | (1) |
|
|
259 | (3) |
|
Selecting the Data as Java Objects |
|
|
262 | (5) |
|
|
267 | (2) |
|
|
269 | (4) |
|
|
273 | (1) |
|
|
274 | (1) |
|
Using JDBC Data Access in the Sample Application |
|
|
275 | (3) |
|
|
278 | (1) |
|
CHAPTER 9 Using Hibernate in Spring Applications |
|
|
279 | (32) |
|
|
279 | (12) |
|
The Hibernate Query Language |
|
|
291 | (1) |
|
|
291 | (7) |
|
Updating and Inserting Data |
|
|
298 | (5) |
|
Using Hibernate in the Sample Application |
|
|
303 | (7) |
|
|
310 | (1) |
|
CHAPTER 10 iBATIS Integration |
|
|
311 | (42) |
|
|
312 | (1) |
|
|
313 | (8) |
|
|
321 | (15) |
|
|
336 | (3) |
|
|
339 | (1) |
|
|
340 | (4) |
|
|
344 | (1) |
|
|
344 | (1) |
|
Using iBATIS in the Sample Application |
|
|
345 | (4) |
|
|
349 | (4) |
PART 5 Spring in the Middle Tier |
|
|
CHAPTER 11 Designing and Implementing Spring-Based Applications |
|
|
353 | (42) |
|
|
354 | (5) |
|
Building a Domain Object Model |
|
|
359 | (11) |
|
Designing and Building the Data Access Tier |
|
|
370 | (10) |
|
Designing the Business Tier |
|
|
380 | (13) |
|
|
393 | (2) |
|
CHAPTER 12 Transaction Management |
|
|
395 | (44) |
|
Exploring the Spring Transaction Abstraction Layer |
|
|
395 | (1) |
|
Analyzing Transaction Properties |
|
|
396 | (3) |
|
Exploring a Transaction Management Sample |
|
|
399 | (21) |
|
Working with Transactions Over Multiple Transactional Resources |
|
|
420 | (12) |
|
Transactions in the Sample Application |
|
|
432 | (6) |
|
|
438 | (1) |
|
CHAPTER 13 Spring and J2EE |
|
|
439 | (48) |
|
|
440 | (8) |
|
|
448 | (19) |
|
|
467 | (19) |
|
|
486 | (1) |
|
CHAPTER 14 Job Scheduling with Spring |
|
|
487 | (30) |
|
Scheduling Jobs Using JDK Timer |
|
|
488 | (11) |
|
Scheduling Jobs Using Quartz |
|
|
499 | (17) |
|
Job Scheduling Considerations |
|
|
516 | (1) |
|
|
516 | (1) |
|
CHAPTER 15 Mail Support in Spring |
|
|
517 | (32) |
|
The Spring Mail API Structure |
|
|
518 | (1) |
|
|
519 | (7) |
|
Constructing and Sending MIME Messages |
|
|
526 | (16) |
|
Using Spring Mail with Velocity |
|
|
542 | (6) |
|
|
548 | (1) |
|
CHAPTER 16 Using Spring Remoting |
|
|
549 | (50) |
|
Remoting, Spring, and EJB |
|
|
550 | (1) |
|
Spring Remoting Architecture |
|
|
551 | (1) |
|
|
552 | (10) |
|
|
562 | (15) |
|
|
577 | (12) |
|
|
589 | (5) |
|
Choosing a Remoting Architecture |
|
|
594 | (1) |
|
|
595 | (4) |
PART 6 Web Applications with Spring |
|
|
CHAPTER 17 Web Applications with Spring MVC |
|
|
599 | (46) |
|
|
599 | (2) |
|
|
601 | (1) |
|
|
602 | (1) |
|
Using Handler Interceptors |
|
|
603 | (1) |
|
|
604 | (7) |
|
Views, Locales, and Themes |
|
|
611 | (12) |
|
Using Command Controllers |
|
|
623 | (16) |
|
Using Spring MVC in the Sample Application |
|
|
639 | (5) |
|
|
644 | (1) |
|
|
645 | (34) |
|
|
646 | (5) |
|
|
651 | (5) |
|
|
656 | (3) |
|
|
659 | (2) |
|
|
661 | (2) |
|
|
663 | (13) |
|
Using Views in the Sample Application |
|
|
676 | (2) |
|
|
678 | (1) |
|
CHAPTER 19 Spring and Struts |
|
|
679 | (18) |
|
Exploring the Struts Architecture |
|
|
679 | (1) |
|
|
680 | (3) |
|
|
683 | (4) |
|
|
687 | (2) |
|
Using Struts Actions as Spring Beans |
|
|
689 | (2) |
|
Combining Struts and Spring MVC |
|
|
691 | (3) |
|
|
694 | (3) |
PART 7 Appendixes |
|
|
APPENDIX A Testing with Spring |
|
|
697 | (14) |
|
|
697 | (2) |
|
|
699 | (5) |
|
Writing Integration Tests |
|
|
704 | (5) |
|
|
709 | (1) |
|
|
709 | (1) |
|
|
710 | (1) |
|
APPENDIX B The Spring Rich Project |
|
|
711 | (18) |
|
|
712 | (2) |
|
Compiling Spring Rich and the Petclinic Sample Application |
|
|
714 | (1) |
|
Examining the Petclinic Startup Sequence |
|
|
715 | (2) |
|
Using the Base Components of Spring Rich |
|
|
717 | (11) |
|
|
728 | (1) |
|
|
729 | (14) |
|
|
730 | (4) |
|
Adding the Spring IDE Nature |
|
|
734 | (1) |
|
Editing and Validating Configuration Files |
|
|
735 | (4) |
|
Visualizing a Spring Application |
|
|
739 | (2) |
|
|
741 | (2) |
|
APPENDIX D The Future of Spring |
|
|
743 | (24) |
|
Using Scripting Languages with BeanFactory |
|
|
744 | (3) |
|
Using J2SE 5.0 Annotations |
|
|
747 | (2) |
|
|
749 | (12) |
|
|
761 | (1) |
|
Building JasperReports Views |
|
|
761 | (4) |
|
|
765 | (2) |
INDEX |
|
767 | |