pursue wind pursue wind
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
  • mybatis

  • mybatis-plus

  • Spring

    • spring
    • Spring--Http源码
    • Spring-5-0中文版-3-9
    • Spring-Bean的作用域管理
    • Spring-Bean的生命周期
    • Spring-事务管理
    • Spring-实战---IoC容器的依赖注入
    • SpringBean
    • SpringMVC 工作原理详解
    • SpringMVC-Restful
    • SpringMVC-的处理拦截器
    • SpringMVC之@CookieValue注解
    • SpringMVC之Controller查找(Spring4-0-3-Spring5-0-4源码进化对比)
    • SpringMVC全局异常
    • SpringMVC数据绑定
    • SpringMVC的@ResponseBody注解说明
    • Spring学习与面试
      • 官网相关
      • 系统学习教程:
        • 文档:
        • 视频:
      • 一些常用的东西
      • SpringAOP,IOC实现原理
        • AOP:
        • IOC:
      • Spring事务管理
      • 其他
      • Spring源码阅读
        • Spring源码阅读
    • Spring源码解析-IoC容器的初始化过程(上)
  • SpringBoot

  • SpringSecurity

  • SpringCloud

  • 单元测试框架Mockito
  • 框架
  • Spring
pursuewind
2020-11-23
目录

Spring学习与面试

# Spring相关教程/资料:

# 官网相关

Spring官网 (opens new window)

Spring系列主要项目 (opens new window)

从配置到安全性,Web应用到大数据 - 无论您的应用程序的基础架构需求如何,都有一个Spring Project来帮助您构建它。 从小处着手,根据需要使用 - Spring是通过设计模块化的。

Spring官网指南 (opens new window)

无论您在构建什么,这些指南都旨在尽可能快地提高您的工作效率 - 使用Spring团队推荐的最新Spring项目发布和技术。

Spring官方文档翻译(1~6章) (opens new window)

# 系统学习教程:

# 文档:

极客学院Spring Wiki (opens new window)

Spring W3Cschool教程 (opens new window)

# 视频:

网易云课堂——58集精通java教程Spring框架开发 (opens new window)

慕课网相关视频 (opens new window)

黑马视频(非常推荐): 微信公众号:“Java面试通关手册”后台回复“资源分享第一波”免费领取。

# 一些常用的东西

Spring Framework 4.3.17.RELEASE API (opens new window)

默认浏览器打开,当需要查某个类的作用的时候,可以在浏览器通过ctrl+f搜索。

# 面试必备知识点

# SpringAOP,IOC实现原理

AOP实现原理、动态代理和静态代理、Spring IOC的初始化过程、IOC原理、自己实现怎么实现一个IOC容器?这些东西都是经常会被问到的。

自己动手实现的 Spring IOC 和 AOP - 上篇 (opens new window)

自己动手实现的 Spring IOC 和 AOP - 下篇 (opens new window)

# AOP:

AOP思想的实现一般都是基于 代理模式 ,在JAVA中一般采用JDK动态代理模式,但是我们都知道,JDK动态代理模式只能代理接口而不能代理类。因此,Spring AOP 会这样子来进行切换,因为Spring AOP 同时支持 CGLIB、ASPECTJ、JDK动态代理。

  • 如果目标对象的实现类实现了接口,Spring AOP 将会采用 JDK 动态代理来生成 AOP 代理类;
  • 如果目标对象的实现类没有实现接口,Spring AOP 将会采用 CGLIB 来生成 AOP 代理类——不过这个选择过程对开发者完全透明、开发者也无需关心。

※静态代理、JDK动态代理、CGLIB动态代理讲解 (opens new window)

我们知道AOP思想的实现一般都是基于 代理模式 ,所以在看下面的文章之前建议先了解一下静态代理以及JDK动态代理、CGLIB动态代理的实现方式。

Spring AOP 入门 (opens new window)

带你入门的一篇文章。这篇文章主要介绍了AOP中的基本概念:5种类型的通知(Before,After,After-returning,After-throwing,Around);Spring中对AOP的支持:AOP思想的实现一般都是基于代理模式,在JAVA中一般采用JDK动态代理模式,Spring AOP 同时支持 CGLIB、ASPECTJ、JDK动态代理,

※Spring AOP 基于AspectJ注解如何实现AOP (opens new window)

AspectJ是一个AOP框架,它能够对java代码进行AOP编译(一般在编译期进行),让java代码具有AspectJ的AOP功能(当然需要特殊的编译器),可以这样说AspectJ是目前实现AOP框架中最成熟,功能最丰富的语言,更幸运的是,AspectJ与java程序完全兼容,几乎是无缝关联,因此对于有java编程基础的工程师,上手和使用都非常容易

Spring注意到AspectJ在AOP的实现方式上依赖于特殊编译器(ajc编译器),因此Spring很机智回避了这点,转向采用动态代理技术的实现原理来构建Spring AOP的内部机制(动态织入),这是与AspectJ(静态织入)最根本的区别。

※探秘Spring AOP(慕课网视频,很不错) (opens new window)

慕课网视频,讲解的很不错,详细且深入

spring源码剖析(六)AOP实现原理剖析 (opens new window)

通过源码分析Spring AOP的原理

# IOC:

Spring IOC的初始化过程: Spring IOC的初始化过程

[Spring框架]Spring IOC的原理及详解。 (opens new window)

Spring IOC核心源码学习 (opens new window)

比较简短,推荐阅读。

Spring IOC 容器源码分析 (opens new window)

强烈推荐,内容详尽,而且便于阅读。

# Spring事务管理

可能是最漂亮的Spring事务管理详解 (opens new window)

Spring编程式和声明式事务实例讲解 (opens new window)

# 其他

Spring单例与线程安全:

Spring框架中的单例模式(源码解读) (opens new window)

单例模式是一种常用的软件设计模式。通过单例模式可以保证系统中一个类只有一个实例。spring依赖注入时,使用了 多重判断加锁 的单例模式。

# Spring源码阅读

阅读源码不仅可以加深我们对Spring设计思想的理解,提高自己的编码水品,还可以让自己字面试中如鱼得水。下面的是Github上的一个开源的Spring源码阅读,大家有时间可以看一下,当然你如果有时间也可以自己慢慢研究源码。

# Spring源码阅读 (opens new window)

  • spring-core (opens new window)
  • spring-aop (opens new window)
  • spring-context (opens new window)
  • spring-task (opens new window)
  • spring-transaction (opens new window)
  • spring-mvc (opens new window)
  • guava-cache (opens new window)
Last Updated: 2023/02/14, 18:02:00
SpringMVC的@ResponseBody注解说明
Spring源码解析-IoC容器的初始化过程(上)

← SpringMVC的@ResponseBody注解说明 Spring源码解析-IoC容器的初始化过程(上)→

Theme by Vdoing | Copyright © 2019-2023 pursue-wind | 粤ICP备2022093130号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
  • 飙升榜
  • 新歌榜
  • 云音乐民谣榜
  • 美国Billboard榜
  • UK排行榜周榜
  • 网络DJ