写点什么

大牛手撕阿里 Spring 框架:AOP、IOC、注解、事务,带你统统搞定

用户头像
马小乎
关注
发布于: 9 小时前

前言

Spring 框架自 2002 年诞生以来一直备受开发者青睐,它包括 SpringMVC、SpringBoot、Spring Cloud、Spring Cloud Dataflow 等解决方案。有人亲切的称之为:Spring 全家桶。

很多研发人员把 spring 看作心目中最好的 java 项目,没有之一。所以这是重点也是难点,工作中必须会,面试时肯定考。那么,花费 10 分钟,由阿里一线架构师,带你梳理 Spring 框架相关知识。


以下所整理的 Spring 相关面试题(含答案)、Spring 全家桶实战文档,均可获取获取方式在文末大牛手撕阿里 Spring 框架:AOP、IOC、注解、事务,带你统统搞定


一、手撕 Spring 框架之面试题篇

01 Spring AOP 相关面试题
  • 什么是 AOP?

  • point cut,advice,Join point 是什么?

  • join point 和 point cut 的区别?

  • 怎么理解面向切面编程的切面?

  • 谈谈对 SpringAOP Weaving(织入)的理解?

  • 谈谈 SpringAOP Introduction(引入)的理解?

  • 讲解 OOP 与 AOP 的简单对比?

  • 讲解 JDK 动态代理和 CGLIB 代理原理以及区别?

  • 讲解 Spring 框架中基于 Schema 的 AOP 实现原理?

  • 讲解 Spring 框架中如何基于 AOP 实现的事务管理?

02 Spring IOC 相关面试题
  • 什么是 IOC?

  • 谈谈对控制反转的设计思想的理解?

  • 怎么理解 Spring IOC 容器

  • Spring 中有多少种 IOC 容器?

  • Spring IOC 怎么管理 Bean 之间的依赖关系,怎么避免循环依赖?

  • 对 Spring IOC 容器的依赖注入的理解?

  • 说说对 Spring IOC 的单例模式和高级特性?

  • BeanFactory 和 FactoryBean 有什么区别,BeanFactory 和 ApplicationContext 又有什么不同?

  • Spring 在 Bean 创建过程中是如何解决循环依赖的?

  • 谈谈 Spring Bean 创建过程中的设计模式?

03 注解相关面试题
  • 注解是一种什么样的编程思想?

  • 为何能够直接使用 @Autowired 进行依赖注入?

  • 是如何工作的?

  • Spring 是如何通过 @AutoWired 自动注入 Bean 属性和 Map,List 集合的?

  • @Required 是如何起到检查 xml 里面属性有没有被配置的?

  • Spring 框架是如何把标注 @Component 的 Bean 注入到容器?

  • @Configuration,@ComponentScan,@Import,@Bean 注解是是如何工作的?

  • 使用 @PropertySource 引入配置文件,那么配置文件里面的配置是如何被注册到 Spring 环境里面的?

  • 讲解如何通过自定义注解实现一个简单的树形文档生成?

04 事务相关面试题
  • 在 XML 里面配置了一个 SqlSessionFactoryBean 后,其究竟做了什么?

  • 在 XML 里面配置了一个 MapperScannerConfigurer 后,其究竟做了什么?

  • 在执行 Mapper 接口的查询方法后,发生了什么?

  • tx:advice/aop:config 标签如何创建事务切面的?

  • 标签添加后为何就可以使用注解式事务了?

  • 为什么会报 Transaction rolled back because it has been marked as rollback-only 异常?Transactional 注解是否可以加在 private、protected 方法上?

  • 事务的传播属性到底有什么用,嵌套事务到底又是怎么一回事?

  • 为什么抛出了异常,事务却没有回滚?

  • Spring 事务是如何保证线程安全的?

05 代理模式相关面试题
  • 为什么需要代理模式?

  • 讲讲静态代理模式的优点及其瓶颈?

  • 对 Java 接口代理模式的实现原理的理解?

  • 如何使用 Java 反射实现动态代理?

  • Java 接口代理模式的指定增强?

  • 谈谈对 Cglib 类增强动态代理的实现?

手撕 Spring 框架面试题答案:



二、手撕 Spring 全家桶之实战篇

01 Spring 技术内幕(深入解析 Spring 架构与设计原理)
  • 第 1 章 Spring 的 设计理念和整体架构

  • 第 2 章 Spring Framework 的核心: IoC 容器的实现

  • 第 3 章 Spring AOP 的实现第 4 章 SpringMVC 与 Web 环境

  • 第 5 章 数据库操作组件的实现

  • 第 6 章 Spring 事务处理的实现

  • 第 7 章 Spring 远端调动的实现

  • 第 8 章 安全框架 ACEGI 的设计与实现

  • 第 9 章 Spring DM 模块的设计与实现

  • 第 10 章 Spring Flex 的设计与实现



02 SpringBoot 实战

在过去的一年多时间里,最让人兴奋、回头率最高、.最能改变游戏规则的东西,大概就是 SpringBoot 了。Spring Boot 提供了一种新的编程范式,能在最小的阻力下开发 Spring 应用程序。有了它,你可以更加敏捷地开发 Spring 应用程序,专注于应用程序的功能,不用在 Spring 的配置上多花功夫,甚至完全不用配置。实际上,Spring Boot 的一项重要工作就是让 Spring 不再成为你成功路上的绊脚石。


Spring 入门

  • 开发第一个应用程序

  • 自定义配置

  • 测试

  • Groovy 与 Spring Boot CLI

  • 在 Spring Boot 中使用 Grails

  • 深入 Actuator

  • 部署 Spring Boot 应用程序


03 看透 SpringMVC 源代码分析与实践
  • 第一篇 网站基础知识

  • 第二篇 俯视 Spring MVC

  • 第三篇 Spring MVC 组件分析

  • 第四篇 总结与补充


04 疯狂 Spring Cloud 微服务架构实战
  • 第 1 章 Spring Cloud 概述

  • 第 2 章 搭建开发环境

  • 第 3 章 微服务发布与调用

  • 第 4 章 负裁均衡

  • 第 5 章 REST 客户端 Feign

  • 第 6 章 Spring Cloud 的保护机制

  • 第 7 章 微服务集群网关

  • 第 8 章 微服务 与消息驱动

  • 第 9 章 集群配置中心

  • 第 10 章 微服务跟踪

  • 第 11 章 微服务数据库实战

  • 第 12 章 案例实战


写在最后

对于很多开发人员来说,Java 框架是 Java 学习路上的一大路障,而掌握 Spring 框架,是对一名合格开发人员的基本要求,因此,学习 Spring,掌握并灵活使用,很有必要。

需要这份资料的朋友们 点击这里 即可获取啦!!!

用户头像

马小乎

关注

程序不是年轻的专利,但是,它属于年轻! 2021.06.04 加入

java知识分享,更多免费资料,大厂面试,数据架构,分布式,spring,JVM,加:maxiao-112

评论

发布
暂无评论
大牛手撕阿里Spring框架:AOP、IOC、注解、事务,带你统统搞定