一、Spring的概述

1.什么是spring?

  Spring 是分层的Java SE/EE 应用full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的 Java EE 企业应用开源框架。

2.spring的优势

  • Spring是一个开源免费的框架(容器)
  • Spring是一个轻量级的,非入侵式的框架
  • 控制反转(IOC),面向切面编程(AOP)
  • 支持事务的处理,对框架整合的支持。
  • 方便解耦,简化开发
  • 降低 JavaEE API 的使用难度

总结一句话:Spring是一个轻量级的控制反转和面向切面编程的框架。

弊端:发展了太久以后,违背了原来的理念,配置十分繁琐,人称:配地狱。

3.spring的几个核心技术(7个)

  • spring core:核心类库,提供ioc服务;
  • Spring 上下文: Spring 上下文是一个配置文件,向Spring框架提供上下文信息;
  • Spring AOP:通过使用Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中;
  • spring dao:对JDBC的抽象,简化了数据访问异常的处理;
  • spring orm:对现有的ORM框架的支持;
  • spring web:提供了基本的面向Web的综合特性,例如多方文件上传;
  • spring mvc:提供面向Web应用的Model-View-Controller实现。

4.开发中主要使用 Spring 的什么技术 ?

  • IOC 容器管理各层的组件
  • 使用 AOP 配置声明式事务
  • 整合其他框架

5.Spring体系结构

springAI中文文档 spring官方中文_spring主要技术

6.拓展

Spring官网有这个介绍:现代化的Java开发,说白就是基于Spring的开发。

springAI中文文档 spring官方中文_spring官网地址_02

  • Spring Boot
  • 一个快速开发的脚手架。
  • 基于Spring Boot可以快速的开发单个微服务
  • 约定大于配置。
  • Spring Cloud
  • Spring Cloud是基于Spring Boot实现的。

7.Spring 框架中都用到了哪些设计模式?

(1)工厂模式:BeanFactory就是简单工厂模式的体现,用来创建对象的实例。
(2)单例模式:Bean默认为单例模式。
(3)代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术。
(4)模板方法:用来解决代码重复的问题。比如. RestTemplate, JmsTemplate, JpaTemplate。
(5)观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被制动更新,如Spring中listener的实现–ApplicationListener。