2-SSM框架篇-1

简介: 本文详解Spring核心概念:IOC(控制反转)与DI(依赖注入),介绍三种DI方式(构造器、Setter、接口注入),五种Bean作用域(singleton、prototype等),单例Bean线程安全性分析,以及byName、byType等自动装配方式。(239字)

01-什么是Spring IOC 和DI ?

IOC : 控制翻转 , 它把传统上由程序代码直接操控的对象的调用权交给容 器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转 移,从程序代码本身转移到了外部容器。

DI : 依赖注入,在我们创建对象的过程中,把对象依赖的属性注入到我们的类中。

02-有哪些不同类型的依赖注入实现方式?

依赖注入分为接口注入,Setter方 法注入和构造器注入

构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每 个参数代表一个对其他类的依赖。

Setter方法注入:Setter方法注入是容器通过调用无参构造器或无参static工厂 方法实例化bean之 后,调用该bean的setter方法,即实现了基于setter的依赖注入。

03- Spring支持的几种bean的作用域 Scope

Spring框架支持以下五种bean的作用域:

singleton : bean在每个Spring ioc 容器中只有一个实例。

prototype:一个bean的定义可以有多个实例。

request:每次http请求都会创建一个bean,该作用域仅在基于web的Spring ApplicationContext情形下有效。

session:在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的 Spring ApplicationContext情形下有效。

global-session:在一个全局的HTTP Session中,一个bean定义对应一个实例。该作用域仅在基 于web的Spring ApplicationContext情形下有效。

04- Spring框架中的单例bean是线程安全的吗?

不是,Spring框架中的单例bean不是线程安全的 , spring 中的 bean 默认是单例模式,spring 框架并没有对单例 bean 进行多线程的封装处理。

但是我们一般在使用单例Bean的时候, 不会设置共享数据, 所以也就不会存在线程安全问题 ! 从这个角度讲单例bean也是线程安全的

05- spring 自动装配 bean 有哪些方式?

在Spring框架xml配置中共有5种自动装配:

  • byName:通过bean的名称进行自动装配,如果一个bean的 property 与另一bean 的name 相 同,就进行自动装配。
  • byType:通过参数的数据类型进行自动装配。
  • constructor:利用构造函数进行装配,并且构造函数的参数通过byType进行装配。
目录
相关文章
|
6月前
|
数据采集 数据安全/隐私保护 Python
爬虫代理入门:为什么用、怎么用,一篇说透
爬虫代理是绕过IP封禁、绕过地域限制、提升并发效率与保障隐私的关键工具。新手推荐使用正规HTTP/HTTPS代理,通过requests库配置proxies参数即可快速集成,注意IP轮换、有效性验证及合规爬取。
|
6月前
|
存储 NoSQL 算法
4-Redis篇-2
本文详解Redis集群架构与核心机制:采用哨兵集群(1主2从+3哨兵)保障高可用;对比主从复制、哨兵、Cluster分片三大方案;解析主从同步的全量/增量复制流程;说明Cluster基于16384哈希槽的分片存储原理;简述MULTI/EXEC等事务命令及实际使用情况。(239字)
276 6
|
6月前
|
存储 缓存 NoSQL
4-Redis篇-1
本文详解Redis在项目中的三大应用:热点缓存、业务数据存储(如验证码、排行榜)及分布式锁;涵盖5种基础数据类型、RDB/AOF双持久化机制、惰性+定期混合过期策略,以及8种内存淘汰策略。
277 19
|
6月前
|
SQL 存储 关系型数据库
3-MySQL篇-3
本文详解MySQL索引核心概念:回表查询(先查索引再查主键)、覆盖索引(索引含所有查询字段,避免回表)、左前缀原则(联合索引最左匹配);并列举索引失效场景及建索引最佳实践。
221 0
|
6月前
|
Java 应用服务中间件 Maven
5-微服务篇-1
本文详解SpringBoot核心机制:①自动装配原理——通过@SpringBootApplication→@EnableAutoConfiguration→AutoConfigurationImportSelector→spring.factories加载条件化配置类;②启动流程三阶段:初始化、上下文创建、自动配置;③常用起步依赖、配置文件类型(properties/YAML)及加载优先级;④四种运行方式。
356 23
|
4月前
|
存储 关系型数据库 MySQL
7-事务控制篇-4
InnoDB支持事务、行级锁、外键及聚簇索引,具备崩溃恢复能力,是MySQL 5.5+默认引擎;MyISAM不支持事务与行锁,仅表级锁,存行数、用非聚簇索引,适合读多写少场景。
209 5
|
6月前
|
SQL 存储 缓存
3-MySQL篇-4
本文详解MySQL性能优化三大维度:设计上选合适引擎(InnoDB/MyISAM)、字段类型与范式;功能上优化索引、缓存、分库分表;架构上主从复制、读写分离。另涵盖超大分页优化、慢查询定位及EXPLAIN执行分析方法。(239字)
191 2
3-MySQL篇-4
|
6月前
|
SQL JSON Java
2-SSM框架篇-3
本文详解SpringMVC核心机制:含11步标准执行流程、常用注解(@RequestMapping、@RequestBody等)及MyBatis关键知识点——#{}与${}区别、主键获取方式、字段名不一致的3种解决方案,助力Java Web开发深入理解与高效实践。(239字)
227 2
|
6月前
|
SQL Java 数据库连接
2-SSM框架篇-2
Spring事务基于AOP与数据库事务实现:通过代理拦截@Transactional方法,控制连接自动提交、异常回滚及传播行为;事务失效常见于非代理调用、private方法或异常被捕获;支持7种传播机制;AOP则用于解耦横切关注点(如日志、权限)。
200 2
|
6月前
|
SQL XML Java
2-SSM框架篇-4
本文详解MyBatis多表查询(关联/集合映射)、动态SQL(9种标签及OGNL执行原理)、延迟加载(association/collection支持)、批量插入(foreach用法)及主键返回机制,涵盖核心开发实践要点。(239字)
238 2

热门文章

最新文章