Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Spring recipes
PREMIUM
Số trang
1105
Kích thước
11.1 MB
Định dạng
PDF
Lượt xem
1486

Spring recipes

Nội dung xem thử

Mô tả chi tiết

THE EXPERT’S VOICE® IN OPEN SOURCE

Gary Mak, Josh Long, and Daniel Rubio

Covers

Spring

Framework 3

Learn to use the full power of Spring 3 through coding recipes!

SECOND EDITION

Spring

Recipes

A Problem-Solution Approach

www.it-ebooks.info

www.it-ebooks.info

Spring Recipes

Second Edition

■ ■ ■

Gary Mak

Josh Long

Daniel Rubio

www.it-ebooks.info

Spring Recipes, Second Edition

Copyright © 2010 by Gary Mak, Josh Long, and Daniel Rubio

All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,

electronic or mechanical, including photocopying, recording, or by any information storage or retrieval

system, without the prior written permission of the copyright owner and the publisher.

ISBN-13 (pbk): 978-1-4302-2499-0

ISBN-13 (electronic): 978-1-4302-2500-3

Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1

Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol

with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only

in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of

the trademark.

The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are

not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject

to proprietary rights.

President and Publisher: Paul Manning

Lead Editor: Tom Welsh

Technical Reviewer: Manuel Jordan, Mario Gray and Greg Turnquist

Editorial Board: Clay Andres, Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell,

Jonathan Gennick, Jonathan Hassell, Michelle Lowman, Matthew Moodie, Duncan Parkes,

Jeffrey Pepper, Frank Pohlmann, Douglas Pundick, Ben Renow-Clarke, Dominic Shakeshaft,

Matt Wade, Tom Welsh

Coordinating Editor: Laurin Becker

Copy Editor: Mary Ann Fugate, Heather Lang

Production Support: Patrick Cunningham

Indexer: BIM Indexing & Proofreading Services

Artist: April Milne

Cover Designer: Anna Ishchenko

Distributed to the book trade worldwide by Springer Science+Business Media, LLC.,

233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505,

e-mail [email protected], or visit www.springeronline.com.

For information on translations, please e-mail [email protected], or visit www.apress.com.

Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use.

eBook versions and licenses are also available for most titles. For more information, reference our

Special Bulk Sales–eBook Licensing web page at www.apress.com/info/bulksales.

The information in this book is distributed on an “as is” basis, without warranty. Although every

precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have

any liability to any person or entity with respect to any loss or damage caused or alleged to be caused

directly or indirectly by the information contained in this work.

The source code for this book is available to readers at www.apress.com. You will need to answer

questions pertaining to this book in order to successfully download the code.

www.it-ebooks.info

To my parents, Clark Long and Kathleen MacDonald

–Josh Long

To my family

–Daniel Rubio

www.it-ebooks.info

iv

Contents at a Glance

About the Author ................................................................................................ xxxvii

About the Technical Reviewers ......................................................................... xxxviii

Acknowledgments ............................................................................................... xxxix

Introduction .............................................................................................................. xli

■Chapter 1: Introduction to Spring ............................................................................ 1

■Chapter 2: Advanced Spring IoC Container ........................................................... 61

■Chapter 3: Spring AOP and AspectJ Support ....................................................... 117

■Chapter 4: Scripting in Spring ............................................................................. 159

■Chapter 5: Spring Security .................................................................................. 171

■Chapter 6: Integrating Spring with Other Web Frameworks ............................... 219

■Chapter 7: Spring Web Flow ................................................................................ 249

■Chapter 8: Spring @MVC ..................................................................................... 297

■Chapter 9: Spring REST ........................................................................................ 371

■Chapter 10: Spring and Flex ................................................................................ 405

■Chapter 11: Grails ................................................................................................ 459

■Chapter 12: Spring Roo ........................................................................................ 501

■Chapter 13: Spring Testing .................................................................................. 525

■Chapter 14: Spring Portlet MVC Framework ....................................................... 569

■Chapter 15: Data Access...................................................................................... 597

www.it-ebooks.info

■ CONTENTS AT A GLANCE

v

■Chapter 16: Transaction Management in Spring ................................................. 663

■Chapter 17: EJB, Spring Remoting, and Web Services ........................................ 707

■Chapter 18: Spring in the Enterprise ................................................................... 765

■Chapter 19: Messaging ........................................................................................ 803

■Chapter 20: Spring Integration ............................................................................ 829

■Chapter 21: Spring Batch .................................................................................... 875

■Chapter 22: Spring on the Grid ............................................................................ 909

■Chapter 23: jBPM and Spring .............................................................................. 935

■Chapter 24: OSGi and Spring ............................................................................... 959

Index ....................................................................................................................... 985

www.it-ebooks.info

vi

Contents

About the Authors ............................................................................................... xxxvii

About the Technical Reviewers ......................................................................... xxxviii

Acknowledgments ............................................................................................... xxxix

Introduction .............................................................................................................. xli

■Chapter 1: Introduction to Spring ............................................................................ 1

1-1. Instantiating the Spring IoC Container ........................................................................ 1

Problem .................................................................................................................................................... 1

Solution .................................................................................................................................................... 1

How It Works ............................................................................................................................................ 3

1-2. Configuring Beans in the Spring IoC Container .......................................................... 4

Problem .................................................................................................................................................... 4

Solution .................................................................................................................................................... 4

How It Works ............................................................................................................................................ 5

1-3. Creating Beans by Invoking a Constructor ............................................................... 14

Problem .................................................................................................................................................. 14

Solution .................................................................................................................................................. 15

How It Works .......................................................................................................................................... 15

1-4. Resolving Constructor Ambiguity ............................................................................. 18

Problem .................................................................................................................................................. 18

Solution .................................................................................................................................................. 18

How It Works .......................................................................................................................................... 18

www.it-ebooks.info

■ CONTENTS

vii

1-5. Specifying Bean References .................................................................................... 21

Problem .................................................................................................................................................. 21

Solution .................................................................................................................................................. 21

How It Works .......................................................................................................................................... 21

1-6. Specifying the Data Type for Collection Elements .................................................... 25

Problem .................................................................................................................................................. 25

Solution .................................................................................................................................................. 25

How It Works .......................................................................................................................................... 25

1-7. Creating Beans Using Spring’s FactoryBean ............................................................ 28

Problem .................................................................................................................................................. 28

Solution .................................................................................................................................................. 28

How It Works .......................................................................................................................................... 28

1-8. Defining Collections Using Factory Beans and the Utility Schema ........................... 30

Problem .................................................................................................................................................. 30

Solution .................................................................................................................................................. 30

How It Works .......................................................................................................................................... 30

1-9. Checking Properties with Dependency Checking ..................................................... 32

Problem .................................................................................................................................................. 32

Solution .................................................................................................................................................. 32

How It Works .......................................................................................................................................... 33

1-10. Checking Properties with the @Required Annotation ............................................ 35

Problem .................................................................................................................................................. 35

Solution .................................................................................................................................................. 35

How It Works .......................................................................................................................................... 35

1-11. Auto-Wiring Beans with XML Configuration ........................................................... 38

Problem .................................................................................................................................................. 38

Solution .................................................................................................................................................. 38

How It Works .......................................................................................................................................... 39

www.it-ebooks.info

■ CONTENTS

viii

1-12. Auto-Wiring Beans with @Autowired and @Resource ........................................... 42

Problem .................................................................................................................................................. 42

Solution .................................................................................................................................................. 42

How It Works .......................................................................................................................................... 43

1-13. Inheriting Bean Configuration ................................................................................. 49

Problem .................................................................................................................................................. 49

Solution .................................................................................................................................................. 49

How It Works .......................................................................................................................................... 50

1-14. Scanning Components from the Classpath ............................................................ 53

Problem .................................................................................................................................................. 53

Solution .................................................................................................................................................. 53

How It Works .......................................................................................................................................... 53

Summary ......................................................................................................................... 58

■Chapter 2: Advanced Spring IoC Container ........................................................... 61

2-1. Creating Beans by Invoking a Static Factory Method ............................................... 61

Problem .................................................................................................................................................. 61

Solution .................................................................................................................................................. 61

How It Works .......................................................................................................................................... 61

2-2. Creating Beans by Invoking an Instance Factory Method ........................................ 62

Problem .................................................................................................................................................. 62

Solution .................................................................................................................................................. 63

How It Works .......................................................................................................................................... 63

2-3. Declaring Beans from Static Fields .......................................................................... 64

Problem .................................................................................................................................................. 64

Solution .................................................................................................................................................. 64

How It Works .......................................................................................................................................... 64

2-4. Declaring Beans from Object Properties .................................................................. 66

Problem .................................................................................................................................................. 66

Solution .................................................................................................................................................. 66

How It Works .......................................................................................................................................... 66

www.it-ebooks.info

■ CONTENTS

ix

2-5. Using the Spring Expression Language .................................................................... 68

Problem .................................................................................................................................................. 68

Solution .................................................................................................................................................. 68

How It Works .......................................................................................................................................... 68

2-6. Setting Bean Scopes ................................................................................................ 74

Problem .................................................................................................................................................. 74

Solution .................................................................................................................................................. 74

How It Works .......................................................................................................................................... 74

2-7. Customizing Bean Initialization and Destruction ...................................................... 77

Problem .................................................................................................................................................. 77

Solution .................................................................................................................................................. 77

How It Works .......................................................................................................................................... 77

2-8. Reducing XML Configuration with Java Config ........................................................ 82

Problem .................................................................................................................................................. 82

Solution .................................................................................................................................................. 82

How It Works .......................................................................................................................................... 82

2-9. Making Beans Aware of the Container ..................................................................... 86

Problem .................................................................................................................................................. 86

Solution .................................................................................................................................................. 86

How It Works .......................................................................................................................................... 87

2-10. Loading External Resources ................................................................................... 88

Problem .................................................................................................................................................. 88

Solution .................................................................................................................................................. 88

How It Works .......................................................................................................................................... 89

2-11. Creating Bean Post Processors .............................................................................. 91

Problem .................................................................................................................................................. 91

Solution .................................................................................................................................................. 91

How It Works .......................................................................................................................................... 92

www.it-ebooks.info

■ CONTENTS

x

2-12. Externalizing Bean Configurations . .......................................................................95

Problem . ................................................................................................................................................ 95

Solution . ................................................................................................................................................ 95

How It Works . ........................................................................................................................................ 95

2-13. Resolving Text Messages . .....................................................................................96

Problem . ................................................................................................................................................ 96

Solution . ................................................................................................................................................ 97

How It Works . ........................................................................................................................................ 97

2-14. Communicating with Application Events . ..............................................................99

Problem . ................................................................................................................................................ 99

Solution . ................................................................................................................................................ 99

How It Works . ........................................................................................................................................ 99

2-15. Registering Property Editors in Spring . ...............................................................102

Problem . .............................................................................................................................................. 102

Solution . .............................................................................................................................................. 102

How It Works . ...................................................................................................................................... 102

2-16. Creating Custom Property Editors . ......................................................................105

Problem . .............................................................................................................................................. 105

Solution . .............................................................................................................................................. 105

How It Works . ...................................................................................................................................... 105

2-17. Concurrency with TaskExecutors . .......................................................................107

Problem . .............................................................................................................................................. 107

Solution . .............................................................................................................................................. 107

How It Works . ...................................................................................................................................... 107

Summary .......................................................................................................................116

■Chapter 3: Spring AOP and AspectJ Support ......................................................117

3-1. Enabling AspectJ Annotation Support in Spring ....................................................117

Problem . .............................................................................................................................................. 117

Solution . .............................................................................................................................................. 118

How It Works . ...................................................................................................................................... 118

www.it-ebooks.info

■ CONTENTS

xi

3-2. Declaring Aspects with AspectJ Annotations ......................................................... 120

Problem ................................................................................................................................................ 120

Solution ................................................................................................................................................ 120

How It Works ........................................................................................................................................ 121

3-3. Accessing the Join Point Information ..................................................................... 126

Problem ................................................................................................................................................ 126

Solution ................................................................................................................................................ 127

How It Works ........................................................................................................................................ 127

3-4. Specifying Aspect Precedence ............................................................................... 128

Problem ................................................................................................................................................ 128

Solution ................................................................................................................................................ 128

How It Works ........................................................................................................................................ 128

3-5. Reusing Pointcut Definitions .................................................................................. 130

Problem ................................................................................................................................................ 130

Solution ................................................................................................................................................ 130

How It Works ........................................................................................................................................ 130

3-6. Writing AspectJ Pointcut Expressions .................................................................... 132

Problem ................................................................................................................................................ 132

Solution ................................................................................................................................................ 132

How It Works ........................................................................................................................................ 133

3-7. Introducing Behaviors to Your Beans ..................................................................... 138

Problem ................................................................................................................................................ 138

Solution ................................................................................................................................................ 138

How It Works ........................................................................................................................................ 138

3-8. Introducing States to Your Beans ........................................................................... 141

Problem ................................................................................................................................................ 141

Solution ................................................................................................................................................ 141

How It Works ........................................................................................................................................ 141

www.it-ebooks.info

■ CONTENTS

xii

3-9. Declaring Aspects with XML-Based Configurations ............................................... 143

Problem ................................................................................................................................................ 143

Solution ................................................................................................................................................ 143

How It Works ........................................................................................................................................ 143

3-10. Load-Time Weaving AspectJ Aspects in Spring ................................................... 146

Problem ................................................................................................................................................ 146

Solution ................................................................................................................................................ 146

How It Works ........................................................................................................................................ 147

3-11. Configuring AspectJ Aspects in Spring ................................................................ 152

Problem ................................................................................................................................................ 152

Solution ................................................................................................................................................ 152

How It Works ........................................................................................................................................ 153

3-12. Injecting Spring Beans into Domain Objects ........................................................ 154

Problem ................................................................................................................................................ 154

Solution ................................................................................................................................................ 154

How It Works ........................................................................................................................................ 154

Summary ....................................................................................................................... 158

■Chapter 4: Scripting in Spring ............................................................................. 159

19-1. Implementing Beans with Scripting Languages ................................................... 159

Problem ................................................................................................................................................ 159

Solution ................................................................................................................................................ 159

How It Works ........................................................................................................................................ 160

19-2. Injecting Spring Beans into Scripts ...................................................................... 164

Problem ................................................................................................................................................ 164

Solution ................................................................................................................................................ 164

How It Works ........................................................................................................................................ 164

19-3. Refreshing Beans from Scripts ............................................................................ 167

Problem ................................................................................................................................................ 167

Solution ................................................................................................................................................ 167

How It Works ........................................................................................................................................ 168

www.it-ebooks.info

■ CONTENTS

xiii

19-4. Defining Script Sources Inline .............................................................................. 168

Problem ................................................................................................................................................ 168

Solution ................................................................................................................................................ 168

How It Works ........................................................................................................................................ 169

Summary ....................................................................................................................... 170

■Chapter 5: Spring Security .................................................................................. 171

5-1. Securing URL Access ............................................................................................. 172

Problem ................................................................................................................................................ 172

Solution ................................................................................................................................................ 172

How It Works ........................................................................................................................................ 173

5-2. Logging In to Web Applications .............................................................................. 183

Problem ................................................................................................................................................ 183

Solution ................................................................................................................................................ 183

How It Works ........................................................................................................................................ 183

5-3. Authenticating Users .............................................................................................. 187

Problem ................................................................................................................................................ 187

Solution ................................................................................................................................................ 188

How It Works ........................................................................................................................................ 188

5-4. Making Access Control Decisions .......................................................................... 199

Problem ................................................................................................................................................ 199

Solution ................................................................................................................................................ 200

How It Works ........................................................................................................................................ 200

5-5. Securing Method Invocations ................................................................................. 203

Problem ................................................................................................................................................ 203

Solution ................................................................................................................................................ 203

How It Works ........................................................................................................................................ 203

5-6. Handling Security in Views ..................................................................................... 206

Problem ................................................................................................................................................ 206

Solution ................................................................................................................................................ 206

How It Works ........................................................................................................................................ 206

www.it-ebooks.info

Tải ngay đi em, còn do dự, trời tối mất!