1. Overview
Spring. NET is an application. Program Framework to help developers create enterprise-level. NET applications. It provides many functions, such as dependency injection, Aspect-oriented programming (AOP), data access abstraction, and ASP. NET extension. Based on the Spring framework of Java, spring. Net transplanted the core concepts and ideas of spring. Java to the. NET platform.
Spring. Core serves as the basis of the entire framework and implements the dependency injection function. Most modules of spring. Net depend on or expand this module. The basis of spring. Core is Iobjectfactory Interface, which implements the factory mode in a simple and elegant way, so that we do not need to write Singleton type and many service locators, the object configuration and dependency can be decoupled from the specific program logic. In this module Iapplicationcontext Interface is Iobjectfactory Added many enterprise-level functions, including using resource files for text localization, event propagation, and resource loading.
Spring. AOP: This module is used for programming. The spring aspect Library provides predefined and easy-to-use aspects: transactions, logs, execution monitoring, caching, retry methods, and exception handling.
Spring. Data defines an abstract data access layer that can be used to access data across various data access technologies (from ADO. Net to various ORM. This module contains an abstract layer of ADO. Net, which reduces the workload for coding and transaction management using traditional ADO. net.
Spring. Data. nhib.pdf uses this module to integrate with spring's declarative transaction management function. nhib.pdf can easily operate ADO. NET and nhib.pdf in the same transaction. 1.0 of Nhibernate users will benefit from easy-to-use APIs for data access.
Spring. the Web uses this module to abstract ASP. net web applications allow you to effectively solve common thorny problems, such as ASP. NET data binding, validation and ASP. net motherboard page, controls, modules, driver configuration.
Spring. Web. Extensions uses this module to improve the abstraction level when writing an Asp.net web application. For example, data bonding, verification, and configuration.
Spring. Services: This module is used to implement object delivery and communication technology.
Spring. Testing. nunit-use this module to test nunit integration.
2. Dependency Injection
The dependency object (control) is changed from the original class to the IOC framework to manage these objects, so that the dependency is separated from the control of the class, thus achieving loose coupling.
3. Aspect-Oriented Programming
It is a continuation form of OOP (Object-Oriented Programming. It is implemented without modification through the pre-compilation method and dynamic proxy during runtime.Source codeTo dynamically and uniformly add functions to the program. It looks at the structure of the program from a different perspective than OOP: oop splits an application into a series of Objects represented as inheritance relationships; AOP The program is divided into a series of aspects (Aspects) or concerns (concerns ). AOP modularized the concerns such as transaction management that were originally distributed horizontally across multiple objects (these concerns are also known as cross-cutting (crosscutting) concerns ). In spring. NET provides rich support for Aspect-Oriented Programming, allowing internal development by separating the application's business logic and system-level services (such as audit and transaction management. Application objects only implement what they should do -- complete the business logic -- that's all. They are not responsible (or even conscious) for other system-level concerns, such as log or transaction support.
Http://www.cnblogs.com/beliefbetrayal/archive/2012/02/03/2337522.html
From: http://www.cnblogs.com/GoodHelper/archive/2009/11/20/SpringNet_Index.html