Spring 简介

Spring是当前最火的开发社区,其产品Spring Framework取代传统的Java EE,成为Java企业级应用开发首选技术。

目前使用Spring的大公司有阿里、京东,小公司不用说几乎都在使用Spring。

几乎国内所有的软件培训机构都开设Spring课程。

为什么这么多公司使用Spring:

1、Spring 使用Apache 2.0协议发行,可免费用于商业项目

2、Spring 让POJO开发企业级应用程序成为可能,这样开发出来的项目不要再够买如Weblgic、WebSphere等昂贵的EJB容器,只要一个免费的tomcat即可运行

3、Spring并没有彻底改变现有的技术,而是更好地利用现有技术,对市面上现有的产品进行再次封装,使产品更容易使用


Spring Framework 架构

Spring Framework由以下几大块组成:

  1. Core    IoC Container, Events, Resources, i18n, Validation, Data Binding, Type Conversion, SpEL, AOP.
  2. Testing    Mock Objects, TestContext Framework, Spring MVC Test, WebTestClient.
  3. Data Access   Transactions, DAO Support, JDBC, O/R Mapping, XML Marshalling.
  4. Web Servlet    Spring MVC, WebSocket, SockJS, STOMP Messaging.
  5. Web Reactive  Spring WebFlux, WebClient, WebSocket.
  6. Integration    Remoting, JMS, JCA, JMX, Email, Tasks, Scheduling, Caching.
  7. Languages    Kotlin, Groovy, Dynamic Languages.

如今的Spring Framework已经是庞然大物,好在Spring boot对它进行优化,让组件可以根据需要添加。


虽然Spring Framework越来越大,却离不开的它的核心,也就是IoC技术。

IoC也叫控制反转,是一个通用概念,可以用许多不同的方式表示。

DI依赖注入,与控制反转是一体两面。

AOP面向方面的编程。

这三者是Spring Framework发展的基础。


开发基于Spring Framework程序有3种方式:

  1. Spring Boot, 简化了Java Config,当前主流开发方式
  2. Java Config,使用java注释技术,不再使用.xml配置文件
  3. XML Config,用.xml配置文件组装代码,反人性,已经过时不用