没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1. spring 的 controller 是单例还是多例,可以声明静态变量吗?声明了会怎么样?
答:默认单例,可以通过@scopr(value="prototye")配置多例,尽量不要在 controller 中
定义属性,如果定义了需要用多例,否则为线程不安全的。
2. spring bean 的生命周期
答:创建前准备→创建实例→依赖注入→容器缓存→销毁实例,
(1.)创建前准备:读取配置文件 调用 init-method 方法
(2.)创建实例:通过反射创建对象
(3.)依赖注入:如果依赖其它 bean 则需要注入,常用@Autowried 注入
(4.)容器缓存:创建好的 bean 此时就可以给开发者使用了
(5.)销毁实例:销毁已经创建好的实例,释放资源
3. 什么是 spring bean ?他的作用范围是什么?
答:spring bean 是一些可以重用的代码块,作用范围:singleton(默认)、prototype、
request、session、globalSession。
singleton:Spring IOC 中默认只存在一个 bean 实例
prototype:每次调用 bean 时都会创建一个对象,相当于 new XXXBean()
request:每次请求都会创建一个 bean,该作用域适用于 WebApplicationContext 环境
globalSession:一般用于 portlet 环境
4. spring 循环依赖问题,哪种情况下 spring 不能解决循环依赖问题?
答:两个及以上 bean 持有对方的引用时,会再注入时导致循环依赖。spring 采用三级
缓存解决,先从 1、2 级缓存去找,如果没找到则 spring 会去实例化这个 bean,放入二级缓
存中,如果标记是否存在循环依赖则会下次循环时复制,当解析完@Autowried 注解后放入
一级缓存中。三级缓存用来存放代理 bean。
无法解决循环依赖的情况:
(1.)多实例 setter 注入
(2.)构造器注入 bean 时
资源评论
漠上尘
- 粉丝: 51
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功