• Spring基础知识点


    Spring 核心策略

    1. 基于Pojo的轻量级编程,实现最小侵入性
    2. 基于IOC,实现声明式编程
    3. 通过依赖注入完成依赖松耦合,通过面向接口编程实现代码灵活性
    4. 通过切面(AOP)和模板减少样板代码
    5. 约定优于配置

    Spring 编程思想

    面向对象编程 - OOP(Object Oriented Programming):抽象、封装、继承、多态
    面向Bean编程 - BOP(Bean Oriented Programming):当对象被容器管理起来时,一切就变成了Bean
    控制反转 - IOC(Inversion of Control):实现对Bean对象的管理(创建,销毁,依赖,代理等)
    依赖注入 - DI(Dependency Injection):声明式依赖,由IOC容器实现真正的依赖关联
    面向切面编程 - AOP(Aspect Oriented Programming):IOC机制下,动态代理的高级应用

    Spring 模块结构

    1. 模块结构
      Spring 5.0 模块结构

    Spring 5.0 新特性

    SpringBoot 2.0 Servlet容器

    1. 响应式编程模型(webflux - 底层netty)
    2. 函数式编程(lambda,引入了kotlin)
    3. 测试改进,舍弃的库
    4. @nullable,logback

    Spring 模块

    Spring Core(核心容器)

    spring core提供了IOC,DI,Bean配置装载创建的核心实现。核心概念: Beans、BeanFactory、BeanDefinitions、ApplicationContext

    • spring-core :IOC和DI的基本实现
    • spring-beans:BeanFactory和Bean的装配管理(BeanFactory)
    • spring-context:Spring context上下文,即IOC容器(AppliactionContext)
    • spring-expression:spring表达式语言

    Spring AOP

    spring-aop:面向切面编程的应用模块,整合ASM,CGLib,JDK Proxy
    spring-aspects:集成AspectJ,AOP应用框架
    spring-instrument:动态Class Loading模块

    Spring Data Access

    spring-jdbc:spring对JDBC的封装,用于简化jdbc操作
    spring-tx:spring jdbc事务管理
    spring-orm:java对象与数据库数据的映射框架
    spring-oxm:对象与xml文件的映射框架
    spring-jms: Spring对Java Message Service(java消息服务)的封装,用于服务之间相互通信

    Spring Web

    spring-web:最基础的web支持,建立于spring-context之上,通过servlet或listener来初始化IOC容器
    spring-webmvc:实现web mvc
    spring-websocket:与前端的全双工通信协议
    spring-webflux:Spring 5.0提供的,用于取代传统java servlet,非阻塞式Reactive Web框架,异步,非阻塞,事件驱动的服务

    Spring Message

    Spring-messaging:spring 4.0提供的,为Spring集成一些基础的报文传送服务

    Spring test

    spring-test:集成测试支持,主要是对junit的封装

    依赖关系参考:凌承一 - spring framework体系结构及内部各模块jar之间的maven依赖关系

  • 相关阅读:
    更改桌面位置
    三国杀高级技巧!!
    excel中删除空白行方法
    欢迎来稿
    coreseek配置文件分析
    html中a连接触发表单提交
    html点击按钮动态添加input文本框
    页面表单预览数据传递注意事项
    mysql 主从复制(masterslave)
    mysql explain key_len小结
  • 原文地址:https://www.cnblogs.com/kiqi/p/14347463.html
Copyright © 2020-2023  润新知