Spring作为现在最流行Java 开发技术,其内部源码设计非常优秀。如果你不会Spring,那么很可能面试官会让你回家等通知。
Spring是什么?
有一个工地,几百号人在用铁锹铲子挖坑。
如果开一辆挖掘机来,用一天时间干的活就相当于一个工人一个月的工作量。而且这个挖掘机是免费开源的,不用花钱买,仅仅需要学习掌握如何操作。你会如何选择?
这几百号人的工地就是企业应用项目实施团队,而挖掘机就是Spring。
Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。
Spring框架为开发Java应用程序提供了全面的基础架构支持。Spring包含了一些很好的功能,如依赖注入和开箱即用的模块:
Spring JDBC
Spring MVC
Spring Security
Spring AOP
Spring ORM
Spring Test
这些模块能极大缩短应用程序的开发时间,提高我们的工作效率。
Spring可以做很多事情,它为企业级开发提供给了丰富的功能,但是这些功能的底层都依赖于它的两个核心特性,也就是依赖注入(dependency injection,DI)和面向切面编程(aspect-oriented programming,AOP)。
我整理了一份Spring框架的知识点,希望对大家有所帮助!需要的同学文末附有领取方式。
Spring概述
什么是spring?
Spring框架的设计目标,设计理念,和核心是什么
Spring的优缺点是什么?
Spring有哪些应用场景
Spring由哪些模块组成?
Spring 框架中都用到了哪些设计模式?
详细讲解一下核心容器(spring context应用上下文) 模块
Spring框架中有哪些不同类型的事件
Spring 应用程序有哪些不同组件?
使用 Spring 有哪些方式?
Spring控制反转(IOC)
什么是Spring IOC 容器?
控制反转(IoC)有什么作用
IOC的优点是什么?
Spring IoC 的实现机制
Spring 的 IoC支持哪些功能
BeanFactory 和 ApplicationContext有什么区别?
Spring 如何设计容器的,BeanFactory和ApplicationContext的关系详解
ApplicationContext通常的实现是什么?
什么是Spring的依赖注入?
依赖注入的基本原则
依赖注入有什么优势
有哪些不同类型的依赖注入实现方式?
构造器依赖注入和 Setter方法注入的区别
Spring Beans
什么是Spring beans?
一个 Spring Bean 定义 包含什么?
如何给Spring 容器提供配置元数据?Spring有几种配置方式
Spring配置文件包含了哪些信息
Spring基于xml注入bean的几种方式
你怎样定义类的作用域?
解释Spring支持的几种bean的作用域
Spring框架中的单例bean是线程安全的吗?
Spring如何处理线程并发问题?
解释Spring框架中bean的生命周期
哪些是重要的bean生命周期方法? 你能重载它们吗?
什么是Spring的内部bean?什么是Spring inner beans?
在 Spring中如何注入一个java集合?
什么是bean装配?
什么是bean的自动装配?
解释不同方式的自动装配,spring 自动装配 bean 有哪些方式?
使用@Autowired注解自动装配的过程是怎样的?
自动装配有哪些局限性?
你可以在Spring中注入一个null 和一个空字符串吗?
Spring注解
什么是基于Java的Spring注解配置? 给一些注解的例子
怎样开启注解装配?
@Component, @Controller, @Repository, @Service 有何区别?
@Required 注解有什么作用
@Autowired 注解有什么作用
@Autowired和@Resource之间的区别
@Qualifier 注解有什么作用
@RequestMapping 注解有什么用?
Spring数据访问
解释对象/关系映射集成模块
在Spring框架中如何更有效地使用JDBC?
解释JDBC抽象和DAO模块
spring DAO 有什么用?
spring JDBC API 中存在哪些类?
JdbcTemplate是什么
使用Spring通过什么方式访问Hibernate?使用 Spring 访问 Hibernate 的方法有哪些?
如何通过HibernateDaoSupport将Spring和Hibernate结合起来?
Spring支持的事务管理类型, spring 事务实现方式有哪些?
Spring事务的实现方式和实现原理
说一下Spring的事务传播行为
说一下 spring 的事务隔离?
Spring框架的事务管理有哪些优点?
你更倾向用哪种事务管理类型?
Spring面向切面编程(AOP)
什么是AOP
Spring AOP and AspectJ AOP 有什么区别?AOP 有哪些实现方式?
JDK动态代理和CGLIB动态代理的区别
如何理解 Spring 中的代理?
解释一下Spring AOP里面的几个名词
Spring在运行时通知对象
Spring只支持方法级别的连接点
在Spring AOP 中,关注点和横切关注的区别是什么?在 spring aop 中 concern 和 cross-cutting concern 的不同之处
Spring通知有哪些类型?
什么是切面 Aspect?
解释基于XML Schema方式的切面实现
解释基于注解的切面实现
有几种不同类型的自动代理?
整理这份资料也花了自己不少精力,也多亏了好多朋友的支持和建议!
金三银四就快到了,也希望可以对大家的面试能有所帮助!帮到你话希望可以不吝点赞收藏支持一下呀!
文中的不足或者有更好的建议也可以在评论区留言哈!需要这份资料的可以评论、收藏之后私信我获取哈。