Spring核心特性(IoC、AOP、事务管理等)概述

通俗易懂!Spring 核心特性一次讲透(2025面试最爱问的 6 大金刚)

核心特性官方名字一句大白话解释现实中的比喻日常最常用场景
1. IoC / DIInversion of Control / Dependency Injection本来是你自己 new 对象,现在全部交给 Spring 帮你造好、管好、给你用你再也不用自己去4S店提车,Spring 是你的专职司机+管家@Component + @Autowired 随便用
2. AOPAspect Oriented Programming让你在不改原代码的情况下,统一加日志、权限、事务、缓存等小区保安:所有进出的人都要刷卡、测温、登记@Transactional、自定义日志切面、权限校验
3. 声明式事务Declarative Transaction一行 @Transactional 就搞定事务开始、提交、回滚银行ATM自动帮你管“转账成功才扣钱”几乎所有增删改业务方法上都写这个注解
4. SpELSpring Expression Language可以在配置里写表达式,运行时动态算值像 Excel 公式一样灵活@Value(“#{2*30}”)、@ConditionalOnExpression
5. 模块化 + 条件装配@Conditional 家族只有满足条件才创建某个 Bean北方才装暖气,南方才装空调@Profile、@ConditionalOnProperty、@ConditionalOnMissingBean
6. 事件机制ApplicationEvent + Listener像微信群一样,一个模块发消息,其他模块可以收到并处理公司群里有人@all,所有人都知道用户注册成功后自动发欢迎邮件、刷新缓存等

1. IoC / DI(最最最核心!占面试 40%)

  • 以前:UserService userService = new UserServiceImpl();
  • 现在:只需要在 UserServiceImpl 上写 @Service,别的类写 @Autowired 就行
  • Spring 启动时就把所有 Bean 造好放进一个大 Map(ApplicationContext),你要用就直接从 Map 里拿

2. AOP(程序员的降维打击武器)

你只需要写一次“横切逻辑”,Spring 自动把它插到几百个方法的前后:

@Around("@annotation(Transactional)")
public Object autoTransaction(ProceedingJoinPoint pjp) { ... }  // 自动事务

常用切面:

  • 事务(最常用)
  • 日志(打印入参出参、耗时)
  • 权限校验
  • 防止重复提交
  • 缓存(@Cacheable)

3. 声明式事务(程序员幸福感 Top1)

以前要写 20 行 try-catch-finally + connection.commit/rollback
现在只写一行:

@Transactional(rollbackFor = Exception.class)
public void transferMoney() { ... }

Spring 自动帮你:

  • 方法开始 → 开事务
  • 方法正常结束 → 提交
  • 抛异常 → 回滚
  • 还支持传播行为(REQUIRED、REQUIRES_NEW 等7种)

4. 其他三大“隐藏大招”

  • SpEL:可以在配置文件里写计算、判断、三元运算
    示例:@Value(“#{systemProperties[‘user.region’] == ‘CN’ ? ‘国内配置’ : ‘国际配置’}”)
  • @Conditional 家族:开发神器!
    开发环境用 H2 数据库,生产环境用 MySQL?一句话搞定:
  @Configuration
  @ConditionalOnProperty(name = "env", havingValue = "dev")
  • 事件机制:解耦神器
    用户注册 → 发事件 → 3 个监听器同时干活(发邮件、送积分、写日志)

2025 年面试必问的终极总结口诀(背下来直接加30分)

“Spring 核心就是两把刀 + 一把枪:
IoC 刀砍乱 new,DI 刀砍硬编码,
AOP 刀横扫日志事务缓存权限,
声明式事务一把枪秒杀 try-catch-commit-rollback,
再配 SpEL、@Conditional、事件机制三件套,
天下我有!”

记住这6个特性 + 上面这句口诀,
面试官问“Spring 核心特性有哪些”,你 2 分钟讲完直接满分!

文章已创建 3017

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部