zoukankan      html  css  js  c++  java
  • 细说Spring框架之核心01-概述

    Spring框架

    官网:https://spring.io/projects/spring-framework
    文档:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/index.html

    目录

    Spring框架是什么

    Spring框架是整个Spring生态的核心基础,其他Spring生态项目都需要使用Spring框架提供的核心功能,如:IoC,AOP,配置注解化等等。
    因此,深入学习并理解Spring框架的原理是掌握Spring其他生态项目的关键。
    Spring框架提供了构建Spring生态的基础功能,具体可以划分为:

    • 核心功能:IoC容器,事件处理,资源管理,国际化支持,校验,数据绑定,类型转换,Spring表达式语言(SpEL),AOP
    • 测试:单元测试,集成测试,Spring MVC测试框架
    • 数据访问:事务管理,DAO,JDBC,对象关系映射(ORM),对象XML映射(Object-XML Mapping)
    • Web Servlet:Spring MVC,REST客户端,WebSocket
    • Web Reactive:Spring WebFlux,WebClient
    • 服务集成: 远程调用(RMI)及WebService,JMS,AMQP,JCA,JMX,邮件,任务指定和调度,缓存抽象
    • 语言支持:Kotlin,Apache Groovy

    Spring框架通过一个组件化的架构实现上述功能,包含如下模块:

    • spring-core,spring-beans,spring-context,spring-aop,spring-aspects,spring-expression:框架基础,提供了IoC,AOP,Spring表达式的支持
    • spring-test:Spring提供的Mock测试框架
    • spring-jdbc,spring-orm,spring-tx:数据访问,事务管理
    • spring-web,spring-webmvc,spring-websocket:一个构建于Servlet API之上的Web框架,这也是Spring框架很早就支持的,Spring框架也因此开始流行
    • spring-webflux:Spring对响应式技术栈的支持
    • spring-jms,spring-messaging:服务集成

    Spring框架组件

    更多Spring框架模块详情参见:https://github.com/spring-projects/spring-framework

    为什么要使用Spring框架

    对于编程框架而言,其主要目的在于提高编程效率,框架对一些底层的、重复性的功能进行组件化封装,便于快速开发应用层软件系统。
    因此,在不同的编程领域或语言平台,都会存在这样或那样被称为“框架”的东西,如:Netty专注于网络编程,MyBatis专注于ORM,Shiro专注于认证授权。
    Spring框架也不例外,它作为一个Java平台的编程框架,实现了对Servlet编程的封装,支持面向切面编程,支持数据访问及ORM映射等,这些功能有助于我们可以快速地开发出一个能稳定运行的服务。

    如何使用Spring框架

    Spring框架最核心的基础是IoC,基于IoC支持AOP、封装Servlet、实现数据访问和ORM映射等等。
    可以说,Spring框架涵盖了丰富多样的应用场景,我们不仅仅需要学习它提供的功能,还要掌握每个功能背后实现的原理,以及其中使用的通用软件开发原则和设计模式。Spring框架中很多非常实用的功能是通过底层JDK提供的方法实现的,比如:注解、动态代理等等,非常值得借鉴和学习。
    至于如何使用Spring框架,需要根据实际的应用需求,引入对应模块的依赖即可。例如:如果只需要使用Spring框架的核心功能,只需要在项目的pom文件中添加“spring-context”依赖:

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.5.RELEASE</version>
    </dependency>
    

    显然,“spring-context”模块依赖了其他4个基础模块:“spring-aop”,“spring-beans”,“spring-core”和“spring-expression”。
    spring-context模块依赖

    【参考】
    https://spring.io/projects

  • 相关阅读:
    idea 的maven窗口中dependencies有红线
    因SpringBootApplication指定scanBasePackages后,出现问题
    You have an error in your SQL syntax
    如何在Interceptor中使用@Autowired
    idea如何修改默认的${user}值
    idea如何创建类和接口时,自动添加类注释或接口注释?
    安装postman时报错
    https网站如何访问http接口
    Docker启动tomcat容器后访问404
    Python中and_Or
  • 原文地址:https://www.cnblogs.com/nuccch/p/12805557.html
Copyright © 2011-2022 走看看