Gift Guide

Spring in Action

( 4 )


Spring is a fresh breeze blowing over the Java landscape. Based on a design principle called Inversion of Control, Spring is a powerful but lightweight J2EE framework that does not require the use of EJBs. Spring greatly reduces the complexity of using interfaces, and speeds and simplifies your application development. You get the power and robust features of EJB and get to keep the simplicity of the non-enterprise JavaBean.

Spring in Action introduces you to the ideas behind ...

See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (36) from $1.99   
  • New (3) from $5.00   
  • Used (33) from $1.99   
Sort by
Page 1 of 1
Showing 1 – 2 of 3
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2010

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

Excellent condition. Interior is tight, bright and clean. Paperback cover has minor scuffing and corner bumps from shelf wear. A few pages were lightly creased. 100% Satisfaction ... Guaranteed. All items are carefully enclosed with bubble wrap. We ship promptly and worldwide via US Post and will email you a tracking number. Read more Show Less

Ships from: Emigrant, MT

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Seller since 2011

Feedback rating:


Condition: New

Ships from: Hopkins, MN

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Page 1 of 1
Showing 1 – 2 of 3
Sort by
Sending request ...


Spring is a fresh breeze blowing over the Java landscape. Based on a design principle called Inversion of Control, Spring is a powerful but lightweight J2EE framework that does not require the use of EJBs. Spring greatly reduces the complexity of using interfaces, and speeds and simplifies your application development. You get the power and robust features of EJB and get to keep the simplicity of the non-enterprise JavaBean.

Spring in Action introduces you to the ideas behind Spring and then quickly launches into a hands-on exploration of the framework. Combining short code snippets and an ongoing example developed throughout the book, it shows you how to build simple and efficient J2EE applications. You will see how to solve persistence problems using the leading open-source tools, and also how to integrate your application with the most popular web frameworks. You will learn how to use Spring to manage the bulk of your infrastructure code so you can focus on what really matters-your critical business needs.

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
Spring lets you do things with plain-vanilla JavaBeans that formerly required complex EJBs. Learn a few new concepts, follow their implications, and suddenly you’re writing enterprise code that’s cleaner, simpler, and easier to manage. Now two of the first programmers to discover Spring’s power share it with the rest of us. Their enthusiasm’s contagious. You can tell how relieved they are to have finally found a better way.

The concepts you need to learn sound intimidating: “inversion of control,” and (finally out of the advanced computer labs), AOP. But the authors introduce them simply and well, with plenty of examples. You’ll learn how to use Spring’s infrastructure for data persistence, transactions, and more. There’s a full section on presentation, from Spring’s MVC web framework to dynamic PDF generation, even integration with other frameworks (think Struts). By the time you’re done, you’ll like Spring as much as they do. Bill Camarda, from the May 2005 Read Only

Read More Show Less

Product Details

  • ISBN-13: 9781932394351
  • Publisher: Manning Publications Company
  • Publication date: 2/11/2005
  • Series: In Action Series
  • Pages: 444
  • Product dimensions: 7.40 (w) x 9.26 (h) x 0.93 (d)

Meet the Author

Craig Walls is a software developer at Pivotal. He’s a popular author and a frequent speaker at user groups and conferences. Craig lives in Cross Roads, Texas.

Read More Show Less

Table of Contents

Preface xvii
Acknowledgments xx
About this book xxiii
Part 1 Spring essentials 1
1 A Spring jump start 3
1.1 Why Spring? 5
A day in the life of a J2EE developer 5
Spring's pledge 6
1.2 What is Spring? 8
Spring modules 9
1.3 Spring jump start 12
1.4 Understanding inversion of control 15
Injecting dependencies 16
IoC in action 16
IoC in enterprise applications 23
1.5 Applying aspect-oriented programming 25
Introducing AOP 25
AOP in action 27
AOP in the enterprise 30
1.6 Spring alternatives 33
Comparing Spring to EJB 33
Considering other lightweight containers 36
Web frameworks 38
Persistence frameworks 40
1.7 Summary 40
2 Wiring beans 42
2.1 Containing your beans 44
Introducing the BeanFactory 44
Working with an application context 46
A bean's life 47
2.2 Basic wiring 50
Wiring with XML 54
Adding a bean 55
Injecting dependencies via setter methods 58
Injecting dependencies via constructor 65
2.3 Autowiring 69
Handling ambiguities of autowiring 71
Mixing auto and explicit wiring 72
Autowiring by default 72
To autowire or not to autowire 72
2.4 Working with Spring's special beans 73
Postprocessing beans 74
Postprocessing the bean factory 76
Externalizing the configuration 78
Customizing property editors 80
Resolving text messages 83
Listening for events 85
Publishing events 86
Making beans aware 87
2.5 Summary 90
3 Creating aspects 91
3.1 Introducing AOP 92
Defining AOP terminology 93
Spring's AOP implementation 95
3.2 Creating advice 97
Before advice 99
After advice 101
Around advice 102
Throws advice 104
Introduction advice 105
3.3 Defining pointcuts 105
Defining a pointcut in Spring 105
Understanding advisors 107
Using Spring's static pointcuts 107
Using dynamic pointcuts 111
Pointcut operations 113
3.4 Creating introductions 115
Implementing IntroductionInterceptor 115
Creating an IntroductionAdvisor 119
Using introduction advice carefully 120
3.5 Using ProxyFactoryBean 122
3.6 Autoproxying 124
BeanNameAutoProxyCreator 124
DefaultAdvisorAutoProxyCreator 126
Metadata autoproxying 128
3.7 Summary 128
Part 2 Spring in the business layer 131
4 Hitting the database 133
4.1 Learning Spring's DAO philosophy 134
Understanding Spring's DataAccessException 135
Working with DataSources 137
Consistent DAO support 139
4.2 Using JDBC with Spring 141
The problem with JDBC code 142
Using JdbcTemplate 144
Creating operations as objects 152
Auto-incrementing keys 155
4.3 Introducing Spring's ORM framework support 156
4.4 Integrating Hibernate with Spring 157
Hibernate overview 157
Managing Hibernate resources 159
Accessing Hibernate through HibernateTemplate 162
Subclassing HibernateDaoSupport 163
4.5 Spring and JDO 164
Configuring JDO 164
Accessing data with JdoTemplate 165
4.6 Spring and iBATIS 166
Setting up SQL Maps 167
Using SqlMapClientTemplate 168
4.7 Spring and OJB 169
Setting up OJB's PersistenceBroker 169
4.8 Summary 171
5 Managing transactions 173
5.1 Understanding transactions 174
Explaining transactions in only four words 176
Understanding Spring's transaction management support 177
Introducing Spring's transaction manager 178
5.2 Programming transactions in Spring 181
5.3 Declaring transactions 183
Understanding transaction attributes 185
Declaring a simple transaction policy 189
5.4 Declaring transactions by method name 191
Using NameMatchTransactionAttributeSource 191
Shortcutting name-matched transactions 194
5.5 Declaring transactions with metadata 195
Sourcing transaction attributes from metadata 196
Declaring transactions with Commons Attributes 197
5.6 Trimming down transaction declarations 201
Inheriting from a parent TransactionProxyFactoryBean 202
Autoproxying transactions 203
5.7 Summary 206
6 Remoting 207
6.1 Spring remoting overview 208
6.2 Working with RMI 212
Wiring RMI services 212
Exporting RMI services 214
6.3 Remoting with Hessian and Burlap 218
Accessing Hessian/Burlap services 219
Exposing bean functionality with Hessian/Burlap 220
6.4 Using Http invoker 223
Accessing services via HTTP 224
Exposing beans as HTTP Services 225
6.5 Working with EJBs 226
Accessing EJBs 227
Developing Spring-enabled EJBs 231
6.6 Using JAX-RPC web services 233
Referencing a web service with JAX-RPC 234
Wiring a web service in Spring 236
6.7 Summary 238
7 Accessing enterprise services 240
7.1 Retrieving objects from JNDI 241
Working with conventional JNDI 241
Proxying JNDI objects 243
7.2 Sending e-mail 244
7.3 Scheduling tasks 248
Scheduling with Java's Timer 248
Using the Quartz scheduler 250
Invoking methods on a schedule 254
7.4 Sending messages with JMS 256
Sending messages with JMS templates 257
Consuming messages 261
Converting messages 263
7.5 Summary 266
Part 3 Spring in the web layer 267
8 Building the web layer 269
8.1 Getting started with Spring MVC 270
A day in the life of a request 271
Configuring DispatcherServlet 272
Spring MVC in a nutshell 275
8.2 Mapping requests to controllers 279
Mapping URLs to bean names 280
Using SimpleUrlHandlerMapping 281
Using metadata to map controllers 281
Working with multiple handler mappings 282
8.3 Handling requests with controllers 283
Writing a simple controller 285
Processing commands 287
Processing form submissions 289
Processing complex forms with wizards 294
Handling multiple actions in one controller 301
Working with Throwaway controllers 305
8.4 Resolving views 307
Using template views 308
Resolving view beans 310
Choosing a view resolver 313
8.5 Using Spring's bind tag 314
8.6 Handling exceptions 317
8.7 Summary 317
9 View layer alternatives 319
9.1 Using Velocity templates 321
Defining the Velocity view 321
Configuring the Velocity engine 322
Resolving Velocity views 323
Formatting dates and numbers 324
Exposing request and session attributes 325
Binding form fields in Velocity 326
9.2 Working with FreeMarker 327
Constructing a FreeMarker view 328
Configuring the FreeMarker engine 329
Resolving FreeMarker views 330
Binding form fields in FreeMarker 330
9.3 Designing page layout with Tiles 332
Tile views 332
Tile controllers 335
9.4 Generating non-HTML output 337
Producing Excel spreadsheets 338
Generating PDF documents 340
Generating other non-HTML files 343
9.5 Summary 344
10 Working with other web frameworks 346
10.1 Working with Jakarta Struts 347
Registering the Spring plug-in 348
Implementing Spring-aware Struts actions 348
Delegating actions 350
10.2 Working with Tapestry 352
Replacing the Tapestry Engine 353
Loading Spring beans into Tapestry pages 355
10.3 Integrating with JavaServer Faces 357
Resolving variables 357
Publishing request handled events 361
10.4 Integrating with WebWork 362
WebWork 1 363
XWork/WebWork2 364
10.5 Summary 365
11 Securing Spring applications 367
11.1 Introducing the Acegi Security System 368
Security interceptors 369
Authentication managers 370
Access decisions managers 370
Run-as managers 370
11.2 Managing authentication 371
Configuring a provider manager 371
Authenticating against a database 373
Authenticating against an LDAP repository 382
Enabling Single Sign-On with Acegi and Yale CAS 384
11.3 Controlling access 389
Voting access decisions 389
Deciding how to vote 390
Handling voter abstinence 392
11.4 Securing web applications 392
Proxying Acegi's filters 394
Enforcing web security 397
Processing a login 400
Setting up the security context 406
Ensuring a secure channel 407
Using the Acegi tag library 411
11.5 Securing method invocations 412
Creating a security aspect 412
Securing methods using metadata 414
11.6 Summary 416
Appendix A Spring setup 417
A.1 Downloading Spring 418
A.2 Choosing a distribution 418
A.3 Setting up your project 419
A.4 Building with Ant 420
Appendix B Spring-related projects 422
B.1 AppFuse 423
B.2 Rich Client Project 424
B.3 Spring.NET 424
Index 427
Read More Show Less

Customer Reviews

Average Rating 4
( 4 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 4 Customer Reviews
  • Posted March 8, 2013

    While this book is well written, the code example are terrible.

    While this book is well written, the code example are terrible.  there is no documentation as to how to build the samples.  the maven pom doesn't work and yo cannot pick a chapter and build the sample code from that chapter as it depends on so many previous chapters.  i think one of the most important aspects of learning is being able to  work though samples to re-enforce what you have learned int he chapter.  If you want to learn spring, try another book.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted September 17, 2006

    Nice Book

    'Spring in Action' written by Craig Walls and Ryan Breidenbach and published by Manning Publications is a great entry point to start using the Spring framework It shows many different components that make up Spring. Each Spring component can be used stand-alone. This piece of information early in the book relieves the reader of wondering if this is another one of those ¿use every piece or don¿t use it at all¿ type of software packages. The book shows also how an IoC container operates. Another great area is on Aspect Oriented Programming (AOP). The book is just over 400 pages long, but it is really a quick read. 'Spring in Action' covers a vast array of topics while teaching the Spring framework. To name just a few topics the reader will learn: IoC, AOP, the good & bad of EJB, different ORMs, the nitty-gritty of database transactions, remoting, and of course all the good stuff that Spring provides the programmer. Also it gives a deep look about writing plain old java objects (POJOs) for Spring make your code easily testable, re-usable, and most of the code that you will write while using Spring will not be tied to the framework with proprietary import statements. The later chapters talk of how Spring can be integrated with Velocity, FreeMarker, Struts, Tapestry, JSF and WebWork. Although Spring comes with its own MVC framework, I think the Struts integration section in the book will help readers decide if they want to stick with the tried and tested Apache Struts or adopt Spring MVC. It would have been good if the book presented EJB 3.0 as some articles have already noted that going with EJB 3 standards and annotations based approach might be a better option than going with Spring.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 18, 2005

    An excellent resource for people interested in Spring

    I thought this was an excellent book. The way the book was written made it easy to read without the normal technical book boredom. The book was well structured and takes you from the simple examples through to more complex examples like security. Other than the writing style I had two ¿favorite things¿ about this book. My first favorite thing was that concepts that might be new to the reader like inversion of control (IoC) and Aspects (AOP) were explained clearly, concisely and thoroughly. My other favorite thing about this book was the fact that the authors showed a good understanding of building real world applications showing you a number of ways to do the same thing. For example, database access was covered using JDBC, JDO, Hibernate, iBATIS and others and the incorporation of Web tier alternatives like Struts, Velocity, Tiles, Tapestry, etc. This alone made the book stand out because the authors did not, as is so often done, show you one way and then expect you to figure out the rest. The authors explore these alternatives and highlight the pros and cons of each of them. This equips the reader with the rationale to make the appropriate choice for their specific circumstances. If Spring is something you need to know or would just like to know about, this book would be a great buy.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 6, 2008

    No text was provided for this review.

Sort by: Showing all of 4 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)