- 1. Preface
- 2. Introduction
- 3. Background information
- 4. Migrating from 1.1 M2
- I. Core Technologies
- 5. The IoC container
- 5.1. Introduction
- 5.2. Basics - containers and objects
- 5.3. Dependencies
- 5.3.1. Injecting dependencies
- 5.3.2. Dependencies and configuration in detail
- 5.3.2.1. Straight values (primitives, strings, etc.)
- 5.3.2.2. Referring to collaborating objects
- 5.3.2.3. Inline objects
- 5.3.2.4. Setting collection values
- 5.3.2.5. Setting generic collection values
- 5.3.2.6. Setting null values
- 5.3.2.7. Setting indexer properties
- 5.3.2.8. Value and ref shortcut forms
- 5.3.2.9. Compound property names and Spring expression references
- 5.3.3. Declarative Event Listener Registration
- 5.3.4. Using depends-on
- 5.3.5. Lazily-instantiated objects
- 5.3.6. Autowiring collaborators
- 5.3.7. Checking for dependencies
- 5.3.8. Method Injection
- 5.3.9. Setting a reference using the members of other objects and classes.
- 5.3.10. Provided IFactoryObject implementations
- 5.4. Object Scopes
- 5.5. Type conversion
- 5.6. Customizing the nature of an object
- 5.7. Object definition inheritance
- 5.8. Interacting with the container
- 5.9. Container extension points
- 5.10. The IApplicationContext
- 5.11. Configuration of IApplicationContext
- 5.12. Added functionality of the IApplicationContext
- 5.13. Customized behavior in the ApplicationContext
- 5.14. Configuration of ApplicationContext without using XML
- 5.15. Service Locator access
- 5.16. Stereotype attributes
- 6. The IObjectWrapper and Type conversion
- 7. Resources
- 8. Threading and Concurrency Support
- 9. Object Pooling
- 10. Spring.NET miscellanea
- 11. Expression Evaluation
- 11.1. Introduction
- 11.2. Evaluating Expressions
- 11.3. Language Reference
- 11.3.1. Literal expressions
- 11.3.2. Properties, Arrays, Lists, Dictionaries, Indexers
- 11.3.3. Methods
- 11.3.4. Operators
- 11.3.5. Assignment
- 11.3.6. Expression lists
- 11.3.7. Types
- 11.3.8. Type Registration
- 11.3.9. Constructors
- 11.3.10. Variables
- 11.3.11. Ternary Operator (If-Then-Else)
- 11.3.12. List Projection and Selection
- 11.3.13. Collection Processors and Aggregators
- 11.3.13.1. Count Aggregator
- 11.3.13.2. Sum Aggregator
- 11.3.13.3. Average Aggregator
- 11.3.13.4. Minimum Aggregator
- 11.3.13.5. Maximum Aggregator
- 11.3.13.6. Non-null Processor
- 11.3.13.7. Distinct Processor
- 11.3.13.8. Sort Processor
- 11.3.13.9. Type Conversion Processor
- 11.3.13.10. Reverse Processor
- 11.3.13.11. OrderBy Processor
- 11.3.13.12. User Defined Collection Processor
- 11.3.14. Spring Object References
- 11.3.15. Lambda Expressions
- 11.3.16. Delegate Expressions
- 11.3.17. Null Context
- 11.4. Classes used in the examples
- 12. Validation Framework
- 13. Aspect Oriented Programming with Spring.NET
- 13.1. Introduction
- 13.2. Pointcut API in Spring.NET
- 13.3. Advice API in Spring.NET
- 13.4. Advisor API in Spring.NET
- 13.5. Using the ProxyFactoryObject to create AOP proxies
- 13.6. Proxying mechanisms
- 13.7. Creating AOP Proxies Programatically with the ProxyFactory
- 13.8. Manipulating Advised Objects
- 13.9. Using the "autoproxy" facility
- 13.10. Using AOP Namespace
- 13.11. Using TargetSources
- 13.12. Defining new Advice types
- 13.13. Further reading and resources
- 14. Aspect Library
- 15. Common Logging
- 16. Testing
- II. Middle Tier Data Access
- 17. Transaction management
- 17.1. Introduction
- 17.2. Motivations
- 17.3. Key Abstractions
- 17.4. Resource synchronization with transactions
- 17.5. Declarative transaction management
- 17.5.1. Understanding Spring's declarative transaction implementation
- 17.5.2. A First Example
- 17.5.3. Declarative transactions using the transaction namespace
- 17.5.4. Transaction attribute settings
- 17.5.5. Declarative Transactions using AutoProxy
- 17.5.6. Declarative Transactions using TransactionProxyFactoryObject
- 17.5.7. Concise proxy definitions
- 17.5.8. Declarative Transactions using ProxyFactoryObject
- 17.6. Programmatic transaction management
- 17.7. Choosing between programmatic and declarative transaction management
- 17.8. Transaction lifecycle and status information
- 18. DAO support
- 19. DbProvider
- 20. Data access using ADO.NET
- 20.1. Introduction
- Motivations
- 20.3. Provider Abstraction
- 20.4. Namespaces
- 20.5. Approaches to Data Access
- 20.6. Introduction to AdoTemplate
- 20.7. Transaction Management
- 20.8. Exception Translation
- 20.9. Parameter Management
- 20.10. Custom IDataReader implementations
- 20.11. Basic data access operations
- 20.12. Queries and Lightweight Object Mapping
- 20.13. DataTable and DataSet
- 20.14. TableAdapters and participation in transactional context
- 20.15. Database operations as Objects
- 21. Object Relational Mapping (ORM) data access
- 21.1. Introduction
- 21.2. NHibernate
- 21.2.1. Resource management
- 21.2.2. Transaction Management
- 21.2.3. SessionFactory set up in a Spring container
- 21.2.4. The HibernateTemplate
- 21.2.5. Implementing Spring-based DAOs without callbacks
- 21.2.6. Implementing DAOs based on plain Hibernate 1.2/2.0 API
- 21.2.7. Programmatic transaction demarcation
- 21.2.8. Declarative transaction demarcation
- 21.2.9. Transaction management strategies
- 21.2.10. Web Session Management
- 21.2.11. Session Scope
- III. The Web
- 22. Spring.NET Web Framework
- 22.1. Introduction
- 22.2. Background
- 22.3. Automatic context loading and hierarchical contexts
- 22.4. Dependency Injection for ASP.NET Pages
- 22.5. Web object scopes
- 22.6. Master Pages in ASP.NET 1.1
- 22.7. Bidirectional Data Binding and Model Management
- 22.8. Localization and Message Sources
- 22.9. Result Mapping
- 22.10. Client-Side Scripting
- 22.11. Spring User Controls
- 23. ASP.NET AJAX
- IV. Services
- 24. Introduction to Spring Services
- 25. .NET Remoting
- 26. .NET Enterprise Services
- 27. Web Services
- 28. Windows Communication Foundation (WCF)
- V. Integration
- 29. Message Oriented Middleware - Apache ActiveMQ
- 30. Message Oriented Middleware - MSMQ
- 30.1. Introduction
- 30.2. A quick tour for the impatient
- 30.3. Using Spring MSMQ
- 30.4. MessageConverters
- 30.5. Interface based message processing
- 30.6. Comparison with using WCF
- 31. Scheduling and Thread Pooling
- VI. VS.NET Integration
- VII. Quickstart applications
- 33. IoC Quickstarts
- 34. AOP Guide
- 35. Portable Service Abstraction Quick Start
- 36. Web Quickstarts
- 37. SpringAir - Reference Application
- 38. Data Access QuickStart
- 39. Transactions QuickStart
- 40. NHibernate QuickStart
- 41. Quartz QuickStart
- 42. NMS QuickStart
- 43. MSMQ QuickStart
- 44. WCF QuickStart
- VIII. Spring.NET for Java developers
- A. XML Schema-based configuration
- B. Extensible XML authoring
- C. Spring.NET's spring-objects.xsd