1. Trang chủ
  2. » Công Nghệ Thông Tin

Sams agile java development with spring hibernate and eclipse may 2006 ISBN 0672328968

657 204 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 657
Dung lượng 9,69 MB

Nội dung

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 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! 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 Copyright Agile Java Development with Spring, Hibernate and Eclipse Copyright © 2006 by Sams Publishing All rights reserved No part of this book shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission from the publisher No patent liability is assumed with respect to the use of the information contained herein Although every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions Nor is any liability assumed for damages resulting from the use of the information contained herein Library of Congress Catalog Card Number: 2005937888 Printed in the United States of America First Printing: May 2006 09 08 07 06 4 3 2 1 Trademarks All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized Sams Publishing cannot attest to the accuracy of this information Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark Warning and Disclaimer Every effort has been made to make this book as complete and as accurate as possible, but no warranty or fitness is implied The information provided is on an "as is" basis The author and the publisher shall have neither liability nor responsibility to any person or entity with respect to any loss or damages arising from the information contained in this book Bulk Sales Sams Publishing offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales For more information, please contact U.S Corporate and Government Sales 1-800-382-3419 corpsales@pearsontechgroup.com For sales outside of the U.S., please contact International Sales international@pearsoned.com Acquisitions Editor Jenny Watson Development Editors Scott Meyers Songlin Qiu Managing Editor Patrick Kanouse Project Editor Mandie Frank Copy Editor Barbara Hacha Indexer Cheryl Lenser Proofreader Kathy Bidwell Technical Editor Boris Minkin Publishing Coordinator Vanessa Evans Book Designer Gary Adair Page Layout Nonie Ratcliff Agile Java Development with Spring, Hibernate, and Eclipse is a well-written guide that covers numerous significant technologies, weaving them together using practical and proven methods that will surely provide value to practitioners of every level Dan Malks, VP Solutions & Strategic Development, JackBe Inc; Author, Core J2EE Patterns Anil's relentless dedication to high quality really shows This is a very well-written book! Madhu Siddalingaiah, Consultant (madhu.com) Anil has an uncanny ability to cut to the chase and tell you what you want to know This book is one of those jewels that appears only infrequently Instead of voluminous explanations of APIs, Anil provides insightful interpretation in highly visual terms, with a simple example that threads all the way through the book It is a masterwork of usability, as computer books go Cliff Berg, founder of Assured by Design, co-founder of Digital Focus, author and consultant Dedication This is dedicated to my loving and caring wife who has always patiently supported me (and my odd ways) Thank you for taking care of everything during the times I was consumed by projects such as this book This book would not be possible without you! And, of course, to my dearest kids who brighten my every day DDL script denormalization naming conventions passwords in unused columns in DateUtil.java file Eclipse in plug-ins for setup Enter Hours screen 2nd 3rd files for JDK 1.4 backward compatibility logging refactoring files for Sign In screen software development methodologies 2nd suggestions for completing Timesheet List screen 2nd Timesheet table, developing with Hibernate sample code for book refactored sample application (Time Expression) files sample application (Time Expression) files Spring-Hibernate integration third-party JAR files scheduling jobs (Spring Framework) scope (of project) scope definition SDK (Software Development Kit), IDE versus security application security authentication authorization encryption web applications authentication in sample application (Time Expression) hiding files serial methods of software development Servers plug-in (Eclipse) servers, starting HSQLDB server servlet containers, installing Session object (Hibernate) SessionFactory object (Hibernate) setter-based dependency injection shortcut keys for Eclipse Sign In screen (sample application) SimpleTest example singleton classes, Spring Framework and sizing in user stories Sleep (Ant tasks) small releases snapshots, refactoring Software Development Kit (SDK), IDE versus software development methodologies Agile methods applying to sample application (Time Expression) 2nd architecture and design acceptance tests application flow map 2nd artifacts 2nd class diagrams CRC cards directory structure for 2nd 3rd 4th 5th end-to-end development filenames for sample free-form architecture 2nd 3rd 4th package diagrams refactoring UML diagrams up-front design BRUF and BDUF in exploration phase 2nd iterative development 2nd maintenance phase planning phase 2nd project initiation phase scope serial methods terminology as problem in usage in book XP and AMDD overview software development projects [See sample application (Time Expression).] software technologies [See technologies.] source code, browsing 2nd Spring BeanDoc spring bind tag library Spring Framework 2nd 3rd 4th 5th ApplicationContext class BeanFactory class beans benefits of configuring transaction management interface-based approach dependency injection pattern downloading Hibernate and declarative transaction management 2nd unit testing installing JAR files JMX support loading external properties logging mail support modules AOP module context module core module DAO module ORM module web module web MVC module [See Spring Web MVC Framework.] online discussion forums PropertyEditor class scheduling jobs startup classes subprojects tag libraries 2nd Web Services Spring IDE for Eclipse 2nd Spring Portlet API Spring Rich Client Spring Web Flow 2nd Spring Web MVC Framework benefits of command objects configuration 2nd controller class defining 2nd reviewing code 2nd unit testing controllers custom command objects, binding to Enter Hours screen (sample application) exception handling handler mapping interceptors ModelAndView object PropertyEditor class ResourceBundle class servlet containers, installing tag library testing Timesheet List screen (sample application) validation in validators view files 2nd Spring-Hibernate integration files for refactored sample application (Time Expression) SQL queries (Hibernate) SqlTool src directory Standard Widget Toolkit (SWT) starting HSQLDB server startup classes (Spring Framework) startup parameters (Eclipse) startup time, Eclipse versus IntelliJ versus NetBeans static code analysis tools static import (JSE 5.0) stepping through code (JDT debugging) storyboards 2nd subprojects of Spring Framework suites (JUnit) Sun Microsystem's NetBeans 5.0 SWT (Standard Widget Toolkit) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [R] [S] [T] [U] [V] [W] [X] tag libraries JSP displaytag writing custom tag libraries Spring Framework 2nd Spring Web MVC Framework 2nd Tamper Data (Firefox) targets (Ant) in build.xml file defined tasks (Ant) in build.xml file CVS defined Exec FTP Get JUnit tests as Mail Sleep TDD (test-driven development) 2nd Team Synchronization perspective (Eclipse) technologies development tools, list of list of runtime technologies, list of swapping out terminology in software development methodologies, as problem test first design test fixture code test runners in JUnit test suites with Ant custom test suites test-driven development (TDD) 2nd testGetByEmployeeId( ) method testing [See also unit testing.] Spring Framework Spring Web MVC Framework 2nd testSaveSingle() method third-party JAR files, sample code for book Time Expression [See sample application (Time Expression).] timesheet example [See sample application (Time Expression).] Timesheet List screen (sample application) 2nd Timesheet table (sample application), developing with Hibernate Timesheet.hbm.xml file Timesheet.java file TimesheetListController, logging TimesheetManager.java class TimesheetManagerTest.java file debugging Tomcat monitoring Servers plug-in (Eclipse) servlet containers, installing tools cross-platform tools Linux-based tools Mac OS X-based tools Windows-based tools tracing transaction isolation level, enterprise transaction management transaction management configuring in Spring Framework interface-based approach Spring Framework and Transaction object (Hibernate) transaction propagation, enterprise transaction management transactions (Hibernate) transient objects Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [R] [S] [T] [U] [V] [W] [X] UAT (user-acceptance testing) UI flow diagrams [See storyboards.] UI prototypes [See user interface prototypes.] UML diagrams [See also class diagrams; ; package diagrams.] unidirectional relationships uninstalling Eclipse union mapping unique object identifier (Hibernate) unit testing controller class in Spring Web MVC Framework SimpleTest example as batch test running Spring Framework and Hibernate test first design TimesheetManagerTest.java file use case analysis use cases, user stories versus user interface prototypes customer expectations and sample application (Time Expression) user stories sample application (Time Expression) user-acceptance testing (UAT) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [R] [S] [T] [U] [V] [W] [X] validation in Spring Web MVC Framework validators in Spring Web MVC Framework varargs (JSE 5.0) variables (JDT debugging) vertical mapping view files in Spring Web MVC Framework 2nd view resolvers (Spring Web MVC Framework) view technologies, Spring Web MVC Framework and views (Eclipse) views (MVC) 2nd JDT debugging Visual Patterns website Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [R] [S] [T] [U] [V] [W] [X] WAR files bundling HSQLDB in hot deploying web applications, securing web browsers in Eclipse Web Developer (Firefox) web framework, Spring Framework and web module (Spring) web MVC module (Spring) [See Spring Web MVC Framework.] Web Services (Spring Framework) Web Tools Platform [See WTP plug-in (Eclipse).] web user interfaces, debugging with Firefox extensions JavaScript console JavaScript debugger Tamper Data Web Developer website maps [See storyboards.] whiteboard architecture diagram for sample application (Time Expression) wiki software Windows-based tools wizards (Eclipse) 2nd workbench (Eclipse) workspaces (Eclipse) writing custom tag libraries WTP plug-in (Eclipse) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [R] [S] [T] [U] [V] [W] [X] XP (Extreme Programming) 2nd overview rules and practices .. .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... The Past: How We Have Been Kidding Ourselves The Future: Agile Methods My Perspective Join the Community? Index Copyright Agile Java Development with Spring, Hibernate and Eclipse Copyright © 2006 by Sams Publishing All rights reserved... I have enjoyed working with Spring and Hibernate, mainly because they allow me to work with plain-old Java objects (POJOs) and avoid some of the hassles of working with EJBs Also, working with the Eclipse IDE has been a nice experience

Ngày đăng: 26/03/2019, 16:09