Agile Java Development with Spring, Hibernate and Eclipse


book cover
Agile Java Development with Spring, Hibernate and Eclipse
By Anil Hemrajani
...............................................
Publisher: Sams
Pub Date: May 09, 2006
Print ISBN-10: 0-672-32896-8
Print ISBN-13: 978-0-672-32896-1
Pages: 360
 



Table of Contents  | Index
overview

Agile Java™ Development With Spring, Hibernate and Eclipse is a book about robust technologies and effective methods which help bring simplicity back into the world of enterprise Java development. The three key technologies covered in this book, the Spring Framework, Hibernate and Eclipse, help reduce the complexity of enterprise Java development significantly. Furthermore, these technologies enable plain old Java objects (POJOs) to be deployed in light-weight containers versus heavy-handed remote objects that require heavy EJB containers. This book also extensively covers technologies such as Ant, JUnit, JSP tag libraries and touches upon other areas such as such logging, GUI based debugging, monitoring using JMX, job scheduling, emailing, and more. Also, Extreme Programming (XP), Agile Model Driven Development (AMDD) and refactoring are methods that can expedite the software development projects by reducing the amount of up front requirements and design; hence these methods are embedded throughout the book but with just enough details and examples to not sidetrack the focus of this book. In addition, this book contains well separated, subjective material (opinion sidebars), comic illustrations, tips and tricks, all of which provide real-world and practical perspectives on relevant topics. Last but not least, this book demonstrates the complete lifecycle by building and following a sample application, chapter-by-chapter, starting from conceptualization to production using the technology and processes covered in this book. In summary, by using the technologies and methods covered in this book, the reader will be able to effectively develop enterprise-class Java applications, in an agile manner!

 

 



book cover
Agile Java Development with Spring, Hibernate and Eclipse
By Anil Hemrajani
...............................................
Publisher: Sams
Pub Date: May 09, 2006
Print ISBN-10: 0-672-32896-8
Print ISBN-13: 978-0-672-32896-1
Pages: 360
 



Table of Contents  | Index

   Copyright
   Forewords
   About the Author
   Acknowledgments
   Preface
    Part I:  Overview
      Chapter 1.  Introduction to Agile Java Development
      What's Covered in This Chapter
      Technologies Used in This Book
      Software Development Methodology Used in This Book
      Summary
      Recommended Resources
      Chapter 2.  The Sample Application: An Online Timesheet System
      What's Covered in This Chapter
      Business Requirements
      Software Development Methodology
      Applying XP and AMDD to Our Sample Application
      A Note About Wiki Software
      Summary
      Recommended Resources
    Part II:  Building the Sample Application
      Chapter 3.  XP and AMDD-Based Architecture and Design Modeling
      What's Covered in This Chapter
      Design Approach and Artifact Choices
      Free-Form Architecture Diagram
      From User Stories to Design
      Exploring Classes Using CRC Cards
      Application Flow Map (Homegrown Artifact)
      UML Class Diagram
      UML Package Diagram
      Directory Structure
      Sample File Names
      End-to-End Development Steps
      Acceptance Tests
      Other Considerations
      Summary
      Recommended Resources
      Chapter 4.  Environment Setup: JDK, Ant, and JUnit
      What's Covered in This Chapter
      Java Platform Standard Edition Development Kit (JDK)
      Directory Structure
      Ant
      JUnit
      SimpleTest: Making the Tools Work Together
      Test First Design and Refactoring
      Summary
      Recommended Resources
      Chapter 5.  Using Hibernate for Persistent Objects
      What's Covered in This Chapter
      An Overview of Object-Relational Mapping (ORM)
      Design of Our Sample Database
      Where HSQLDB and Hibernate Fit into Our Architecture
      HSQLDB
      Working with Hibernate
      Other Hibernate Features
      Summary
      Recommended Resources
      Chapter 6.  Overview of the Spring Framework
      What's Covered in This Chapter
      What Is Spring?
      Spring Packaging for Development
      Spring Packaging for Deployment
      Overview of the Spring Modules
      Where Spring Framework Fits into Our Architecture
      Benefits of Using Spring
      Fundamental Spring Concepts
      Spring Subprojects
      Summary
      Recommended Resources
      Chapter 7.  The Spring Web MVC Framework
      What's Covered in This Chapter
      Benefits of the Spring Web MVC Framework
      Spring Web MVC Concepts
      Spring Setup for Time Expression
      Developing Time Expression User Interfaces with Spring
      Cascading Style Sheet (CSS)
      Timesheet List Screen: A No-Form Controller Example
      Enter Hours Screen: A Form Controller Example
      Views with No Controllers
      Spring HandlerInterceptors
      Our Sample Applicationin Action!
      New Tag Libraries in Spring Framework 2.0
      A Word About Spring Web Flow and Portlet API
      Summary
      Recommended Resources
      Chapter 8.  The Eclipse Phenomenon!
      What's Covered in This Chapter
      The Eclipse Foundation
      The Eclipse Platform and Projects
      Eclipse SDK Concepts
      Installing Eclipse
      Setting Up Eclipse for Time Expression
      Java Development Tools (JDT) Features
      Installing the Eclipse Web Tools Platform (WTP) Plug-ins
      Using Eclipse for Time Expression
      More Eclipse? Yes, Plug-ins Galore!
      Eclipse Team Support
      Eclipse Help System
      Tips and Tricks
      Uninstalling Eclipse
      An Unfair Comparison to IntelliJ and NetBeans
      Summary
      Recommended Resources
    Part III:  Advanced Features
      Chapter 9.  Logging, Debugging, Monitoring, and Profiling
      What's Covered in This Chapter
      Logging Overview
      Jakarta Commons Logging (with Log4j and JDK Logging)
      Debugging Java Applications Using Eclipse
      Debugging Web User Interfaces Using Firefox
      Debugging TimesheetManagerTest End-to-End (Browser to Database)
      JMX Management and Monitoring
      Java Profilers
      Debugging Tips
      Summary
      Recommended Resources
      Chapter 10.  Beyond the Basics
      What's Covered in This Chapter
      Recently Added Java Features
      Ant Tasks
      JUnit
      Hibernate
      The Spring Framework
      The Spring and Hibernate Harmony
      JSP Tag Libraries
      Refactoring
      Other Considerations
      Clustering
      Multithreading
      A Note About Java GUI (Thick Client) Applications
      Configuration Management (CM) Environments
      Asynchronous JavaScript and XML (AJaX)
      Javadoc and Comments
      Entire System in One WAR File!
      Summary
      Recommended Resources
      Chapter 11.  What Next?
      What's Covered in This Chapter
      Complete the Time Expression Application
      XP and AMDD-Based Software Development
      Java Platform
      Ant
      JUnit
      Hibernate
      The Spring Framework
      Eclipse SDK
      Logging, Debugging, Monitoring, and Profiling
      Getting Help
      A Quick Note About Code "Quality" Tools
      Summary
      Recommended Resources
      Chapter 12.  Parting Thoughts
      My Near Future Plans
      The Future, Agile Methods, Java Technology
      Cheers!
    Part IV:  Appendices
      Appendix A.  Downloadable Code for This Book
      Third-Party Libraries Shared Directory
      Sample Application Directory (rapidjava/timex/)
      Refactored Sample Application Directory (rapidjava/timex2/)
      Spring-Hibernate Integration Demo Directory (rapidjava/springhibernate/)
      Appendix B.  Refactoring Done to Sample Application
      SignInController.java: JMX Monitoring
      TimesheetListController.java: JMX Monitoring
      Manager Classes: Spring-Hibernate Integration
      timesheetlist.jsp: Switch to Include File and Displaytag
      enterhours.jsp: Swith to Include File and Timex Tag Library
      *Test Classes and TimexTestCase
      DateUtil.java: New Method
      timex.css: New Styles
      timexhsqldb.xml: Bad Data Defect Fix
      Appendix C.  Java Code Conventions
      Appendix D.  Securing Web Applications
      Appendix E.  Sample Development Process Cheat Sheet
      Project Initiation
      Exploration Phase
      Planning
      Incrementally Build Software in Iterations
      Appendix F.  Agile Modeling Values, Practices, and Principles Cheat Sheet
      Appendix G.  Extreme Programming (XP) Cheat Sheet
      Overview
      Appendix H.  Cool Tools
      Cross-Platform Tools
      Microsoft Windows-Based Tools
      Mac OS X-Based Tools
      Linux-Based Tools (KDE)
      Appendix I.  Visual Patterns Research
      The Problem
      The Past: How We Have Been Kidding Ourselves
      The Future: Agile Methods
      My Perspective
      Join the Community?
   Index