Spring

9/1/2022 Spring

# Spring

# 模块

# Spring Core

核心模块, Spring 其他所有的功能基本都需要依赖于该类库,主要提供 IoC 依赖注入功能的支持

# Spring Aspects

为与 AspectJ 的集成提供支持

# Spring AOP

提供了面向切面的编程实现

# Spring Data Access/Integration

# spring-jdbc

提供了对数据库访问的抽象 JDBC

# spring-tx

提供对事务的支持

# spring-orm

提供对 Hibernate 等 ORM 框架的支持

# spring-oxm

提供对 Castor 等 OXM 框架的支持

# spring-jms

Java 消息服务

# Spring Web

# spring-web

对 Web 功能的实现提供一些最基础的支持

# spring-webmvc

提供对 Spring MVC 的实现

# spring-websocket

提供了对 WebSocket 的支持,WebSocket 可以让客户端和服务端进行双向通信

# spring-webflux

提供对 WebFlux 的支持,新的响应式框架

# Spring Test

# IoC(Inverse of Control:控制反转)

将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理

将对象之间的相互依赖关系交给 IoC 容器来管理,并由 IoC 容器完成对象的注入。

# AOP(Aspect-Oriented Programming:面向切面编程)

# Spring AOP

基于动态代理,运行时增强

# 实现了某个接口

使用 JDK Proxy,去创建代理对象

# 没有实现接口

使用 Cglib 生成一个被代理对象的子类来作为代理

# AspectJ AOP

编译时增强

# Spring bean

bean 代指的就是那些被 IoC 容器所管理的对象

# 作用域

# singleton

唯一 bean 实例,Spring 中的 bean 默认都是单例的,对单例设计模式的应用

# prototype

每次请求都会创建一个新的 bean 实例

# request

每一次 HTTP 请求产生,仅在当前 HTTP request 内有效

# session

每一次来自新 session 的 HTTP 请求都会产生,仅在当前 HTTP session 内有效

# global-session

全局 session 作用域,仅仅在基于 portlet 的 web 应用中才有意义,Spring5 已经没有了

# 注解

# @Component 和 @Bean

@Component 注解作用于类,而@Bean注解作用于方法

@Component通常是通过类路径扫描来自动侦测以及自动装配到 Spring 容器中,@Bean告诉了 Spring 这是某个类的实例,当我需要用它的时候还给我

@Bean 注解比 @Component 注解的自定义性更强,当我们引用第三方库中的类需要装配到 Spring容器时只能通过 @Bean

# SpringMVC

# Mybatis

Last Updated: 4/15/2023, 1:36:11 AM