Introduction of Spring.net

Source: Internet
Author: User

Spring.net is an application framework designed to assist developers in creating enterprise-class. NET Applications. It provides many aspects of functionality, such as dependency injection, aspect-oriented programming (AOP), data access abstraction, and ASP. Based on the Java version of the Spring Framework, spring.net ported the core concepts and ideas of Spring.java to the. NET Platform.

Enterprise applications are typically composed of multiple physical layers, and each physical layer is often divided into functional layers. There is a need for collaboration between different levels, for example, the business service layer typically needs to use objects from the data access layer to implement a use case. Regardless of how the application is built, it ultimately manifests itself as a series of collaborative objects that together form the complete application. So we say that objects in the application have dependencies on each other.

Spring.net's IOC container solves the problem of combining classes, objects, and service groups into applications in enterprise applications. IOC containers are very orthodox (by: formalized, the implication is that these methods are stereotyped and tested by the industry for many years) to combine disparate components into complete applications. The Spring.net framework is the best programming method that has been tested for years by countless applications in the industry and has been trained as a design pattern, and in fact these patterns have become the code of our architecture and development, and through spring.net we can integrate them directly into our own applications. It's really a good thing that many organizations and agencies have developed strong, well-maintained applications with the spring framework.

At the beginning of 2004, Martin Fowler once asked his website readers: "The question is, when we talk about inversion of control, what kind of controls are they reversing?" ”。 Then Fowler suggested renaming the control reversal (or at least giving it a more self-descriptive name), so the term dependency injection (Dependency injection) was used. Fowler also discusses some of the concepts behind the control inversion and Dependency Injection principles in the paper. If you need to know the authentic IOC and di theory, you can refer to this article: http://martinfowler.com/articles/injection.html.

  

The Spring.net framework contains many functional aspects, all of which go into the modular organization as shown. The Spring.net core modules are shown.

  

Spring.core as the basis for the entire framework, Dependency injection The function. Most modules of spring.net depend on or extend the module. The basis of Spring.core is IObjectFactory The interface, which implements the factory pattern in a simple and elegant way, allows us to not write singleton types and numerous service locators on our own, and allows the configuration of objects and their dependencies to be decoupled from the specific program logic. The module iapplicationcontext The interface is an extension of iobjectfactory . Many enterprise-class features have been added, including using resource files for text localization, event propagation, and resource loading, among others.

SPRING.AOP provides aspect-oriented programming (AOP) support for business objects. AOP improves the capabilities of the IOC container and lays a solid foundation for creating enterprise applications and using declarative services.

Spring.data defines an abstract data access layer that allows data access across a variety of data access technologies, from ADO to various ORM. The module contains an abstract layer of ADO, which reduces the amount of work required for encoding and transaction management with traditional ADO.

Spring.Data.NHibernate uses this module to integrate the declarative transaction management functionality of Spring NHibernate can easily manipulate the mix of ADO and NHibernate in the same transaction. NHibernate's 1.0 users will benefit from an easy-to-use API to perform data access operations.

Spring.web using this module, when writing an ASP. NET Web application, allows you to effectively address common thorny issues such as ASP, validation and ASP. NET Master pages, controls, modules, and drive configurations.

Spring.Web.Extensions This module makes it easy to expose a plain. NET object (PONO), which is a JavaScript that does not have any attributes or a special base class as a Web Service, is configured to apply AOP through dependency injection, and is exposed on the client.

spring.services-use this module to fit the plain. Enable them to work with specific distributed communication technologies and so on. NET remoting, Enterprise Services, Asmx web service, and WCF services, use net objects. These services can be configured and applied AOP through dependency injection.

Spring.Testing.NUnit-Use this module for integrated NUnit testing.

Spring.Testing.Microsoft-Use this module to test the integration test framework with Microsoft (MSTest).

spring.messaging-Use this module to raise your best practices for efficiently creating a solid foundation for Microsoft Message Queuing (MSMQ) applications.

Spring.Messaging.Nms-Use this module to raise your best practices for efficient creation of APACHE ACTIVEMQ applications, solid foundation.

Spring.Messaging.Ems-Use this module to raise your best practices for efficiently building applications that TIBCO corporate environmental management systems.

Spring.Scheduling.Quartz-provides Quartz jobs with quartz.net work, dispatch statement configuration scheduling integration, Triggers as well as some handy classes to increase productivity in building job scheduling applications.

Spring.Template.Velocity-helper class configuration nvelocity the template engine in Spring.net application.

Spring.net study Notes" series of blog is mainly my own to spring.net a study of the process of consolidation. The process is divided into five phases: control inversion and dependency injection, aspect-oriented programming, integrated nhibernate and ASP. NET MVC development, service oriented programming, and extended integration. And in the most I added a project of practical application of "Enterprise Architecture system in practice", I think this is useful for a comprehensive understanding of spring.net.

I personally think that Spring.net is one of the most powerful IOC&AOP frameworks, so far, few other frameworks in. NET are as high as spring.net, and the spring.net framework has a wide range of functions that are suitable for large enterprises, Website project development and application, and can effectively in the development of large projects to help us, while Spring.net can also be called. NET applications in the "Lightweight Java Architecture architecture." My main purpose in writing the SPRING.NET study Notes series blog is to promote the spring.net framework so that more friends master the framework, because Spring.net is a good framework. And hope more and more friends to join in the spring.net framework of learning and application process.

Introduction of Spring.net

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.