• 【无标题】


    Spring 为解决应用开发的复杂性而生

    是一个开源框架,它由Rod Johnson创建 ,.它是一个容器框架,用来装javabean,这种中间层框架可以起一个连接作用,比如说把Struts和hibernate结合在一起运用,就是早期的SSH,如果把SpringMVC和MyBatis结合到一起,就是目前非常流行的SSM。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,我们目前所用的几乎所有的框架都可以在spring上进行整合.从简单性,可测性和松耦合性角度而言,绝大部分JAVA应用都可以从Spring受益.

    Spring优势:

    1 方便解耦,简化开发 Spring通过容器,将对象的创建从代码中剥离出来,交给Spring控制,避免直接编码造成模块之间的耦合度高,用户也不必自己编码处理对象的单例和多例控制,主要关注接口功能即可,不用关注具体使用哪个实现类和实现细节问题

    2 AOP切面编程 AOP切面编程是程序设计的一种概念,Spring对该概念实现的比较好,通过切面编程我们可以在不修改原有代码的情况下实现功能的增加,通常用于 事务控制,日志记录,性能检测,权限控制等等

    3 声明式事务 事务的控制可以托管给Spring,我们通过注解或者配置文件声明事务的处理方式即可,不用我们自己去编码处理

    4 整合JUNIT,方便测试 spring整合JUNIT单元测试,对于项目的功能都可以进行轻松快速的测试,便于我们调试程序

    5方便整合各种优秀的框架

    6 丰富的功能封装 spring对JAVAEE(JDBC ,JAVAMail,)都进行了一系列的封装,简化我们对于API的使用,提高程序的开发效率

    7 规范的源码学习样本 spring的源码设计巧妙,结构清晰,大量使用了设计模式,是java代码规范编写的典范,也是高级程序员面试中经常会问到的源码

    Spring Framework的体系结构

     Spring家族

    现阶段学习目标

    1 深刻理解Spring容器概念

    2 深刻理解IOC和DI,并能属性相关配置和注解

    3 理解代理模式,属性两种动态代理(JDKProxy和CGLIB)实现原理

    4 深刻理解AOP切面编程,能够说明AOP的含义以及底层实现原理

    5 熟悉AOP的实现方式,XML+注解

    6 熟悉Spring JDBCTemplate对象对于数据库的操作

    7 能够独立通过AOP方式配置对于事务的控制

    8 能够在spring中使用测试和日志框架

    课程大纲

    • 第一章 Spring容器,IOC和 DI
      • Spring概念介绍
      • IOC概念引入
      • IOC原理分析
      • XML方式实现IOC和DI
      • Bean的生命周期
      • Bean的自动装配
      • 使用外部属性配置文件
      • 注解方式管理Bean

    容器实现IOC

    • 第二章 Spring面向切面编程
      • JDKProxy动态代理
      • 三方CGLIB动态代理
      • AOP概念,功能和实现原理
      • AOP注解方式实现
      • 了解AOPXML方式实现

    动态代理

    AOP切面编程

    • 第三章 Spring事务控制,日志和测试
      • JDBCTemplate的使用和实现CURD
      • 事务回顾和事务环境搭建
      • 注解方式实现事务控制
      • XML方式实现事务控制
      • 通过配置代替XML实现事务控制
      • Spring5的日志控制
      • Spring5对Junit5的支持

    事务的传播行为

    常见问题和疑惑

    1 spring框架有什么优势

    轻量:Spring 是轻量的,基本的版本大约2MB。

    控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。

    面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。

    容器:Spring 包含并管理应用中对象的生命周期和配置。

    MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。

    事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。

    异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常。

    2 Spring有哪些模块

    • Core module
    • Bean module
    • Context module
    • Expression Language module
    • JDBC module
    • ORM module
    • OXM module
    • Java Messaging Service(JMS) module
    • Transaction module
    • Web module
    • Web-Servlet module
    • Web-Struts module
    • Web-Portlet module

    3 学习Spring要不要学习源码?

    首先学习Spring的应用,这是核心,一些都是围绕项目研发为根本目标. 学习Spring源码对于我们虽有益处但是量力而行. 就业为目标,学习源码主要以通过面试获取高新为目标.大家再准备面试之前刷一刷我们Spring的源码课程即可.目前先会用,后面再考虑源码,不要急躁.不必立刻学习源码,会造成理解困难,影响学习进度和学习效率

  • 相关阅读:
    ruoyi-nbcio-plus基于vue3的多租户机制
    计算摄像技术01 - 摄像技术基础知识
    【SQL】MySQL的安全管理
    python渗透测试入门——取代netcat
    vue打包的基层原理
    “卫星-无人机-地面”遥感数据快速使用及地物含量计算的实现方法
    多样性和VE的进化
    交换机如何配置BGP协议
    运维工作的“本手、妙手、俗手”
    说说Nodejs高并发的原理
  • 原文地址:https://blog.csdn.net/wei7a7a7a/article/details/126094815