01-Spring Overview

What is 1.spring

Spring is a layered Java SE / EE lightweight open source application framework for full-stack to IoC (Inverse Of Control: inversion control) and AOP (Aspect Oriented Programming: Oriented Programming) as a core, a Spring MVC presentation layer and a large number of enterprise applications JDBC technology and business transaction management layer persistence layer Spring, but also the integration of the open source world many well-known third-party frameworks and libraries, has become the largest enterprise applications using Java EE open-source framework.

Development of 2.Spring

In 1997 IBM EJB proposed the idea
in 1998, SUN formulate development standards EJB1.0
in 1999, EJB1.1 released
in 2001, EJB2.0 released
in 2003, EJB2.1 released
in 2006, EJB3.0 publish
Rod Johnson ( father spring of)
Expert One-to-One J2EE design and development (2002)
describes the J2EE the advantage of using EJB development and design and solutions
Expert One-to-One J2EE development without EJB (2004)
describes the J2EE development without the use of EJB solution (spring prototype)
in September 2017 released the latest version of spring 5.0 generic version of spring (GA)

3.spring advantage

Decoupling convenient simplify the development
IoC container provided by Spring, dependencies between objects may be referred Spring controlled to avoid excessive coupling hardcoded program caused. Users no longer have singleton class attributes file analyzing these and other needs of the underlying code is written, can concentrate on the upper application.
AOP programming support
through Spring's AOP functionality, facilitate aspect-oriented programming, many are not easy to achieve using traditional OOP functionality can
easily cope by AOP.
Support for declarative transactions
can be freed from our monotonous boredom of transaction management code, to manage transactions through a declarative way and flexible, improve development efficiency and quality.
To facilitate the testing procedure
can be carried out using non-container-dependent programmatically almost all testing, testing no longer is an expensive operation, but readily do things.
Easy integration of a variety of excellent framework
Spring can reduce the difficulty of using various frameworks, providing direct support for a variety of excellent frameworks (Struts, Hibernate, Hessian, Quartz, etc.).
JavaEE-API is used to reduce the difficulty of
Spring's JavaEE-API (such as JDBC, JavaMail, remote calls, etc.) a thin encapsulating layer, the difficulty of making use of the API greatly reduced.
Java source code is a classic example of learning
Spring source code design exquisite, clear structure, with ingenuity alone, always embodies the masters of the flexible use of Java design patterns and profound knowledge of Java technology. Its source code is not intended to be examples of best practice in Java technology.

4.spring architecture

Core Container core container
1.Beans: Management Bean
2.Core: Core
3.Context: context (Profile)
4.SpEL: Expressions

AOP: section Programming
Aspects: Since AspectJ integration framework, mainly for Spring AOP to provide a variety of implementations.
Instrument: design based on java SE in java.lang.instrument, aims to help achieve AOP.
Messaging: responsible for integrating some basic messaging application framework for the spring.

Data Access / Integration: Data Access and Integration
jdbc: jdbc connection data for the library, of course, there are many ways, such as jdbc template way of a relational database to like the way, SimpleJdbc way, transaction management to simplify JDBC programming.
Transactions: Transaction control module
orm: ORM framework support module.
OXM: The java object mapped into XML data, or XML data into mapped java object.
JMS: send and receive messages.

Web: web component consists of spring-web, spring-webmvc, spring-websocket and spring-webflux4 modules.

 

Guess you like

Origin www.cnblogs.com/itmu89/p/12045404.html