spring面试刷题
Posted 张小泽的小号
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring面试刷题相关的知识,希望对你有一定的参考价值。
spring面试刷题
1、spring是什么
spring是一套轻量级的java web开发框架,主要包括以下模块:spring core(提供ioc服务),spring aop(提供切面服务)、spring mvc(基于web应用的modle-view-controller模块)
2、spring主要优点
1、依赖注入:避免框架代码对业务代码的污染
2、aop:将一些系统级别的功能使用aop的形式进行复用
3、集成很多框架:dubbo、mybatis等
4、spring aop的代理模式实现原理
aop两种实现模式:动态代理、静态代理
静态代理:aspectj,在编译期就生成代理类,将增强逻辑织入代理类中
动态代理:两种方式jdk动态代理、cglib(code generation library)两种方式
jdk动态代理:被代理类实现invotaionhandler接口,实现invoke方法,在invoke中发射调用原来方法,在调用前后编写增强函数,接着proxy利用invocationHandler生成目标接口的代理类。
两个关键点:Proxy.newProxyInstance()还有InvocationHandler:第一个生成代理类,第二个是实现具体的代理逻辑
5、spring ioc的实现原理
https://www.iteye.com/blog/jinnianshilongnian-1715092(可以跟着这个学习)
6、BeanFactory和applicationContext的区别
7、spring bean的几种作用域
- singleton
- protype
- session
- request
- globe-session
8、单例的bean是不是线程安全的
以上是关于spring面试刷题的主要内容,如果未能解决你的问题,请参考以下文章