扫码关注官方订阅号
闭关修行中......
通常单例就够用了,性能略好一点点,不过单例对象就不能注入一些 scope 较小的其他对象了。
如果这么写
@Controller @Scope("request")
那么你的 controller 就可以注入 request, session, singleton 范围的对象,作为它的某个 field。
@Controller @Scope("session")
那么你的 controller 就只能注入 session, singleton 范围的对象。(只是举例,不要把 controller 放到 session 里,session 只适合存放会话数据)
如果写 @Scope("prototype"),就近似于 request,具体跟 Spring MVC 的实现有关。
@Scope("prototype")
如果是单例,就只能注入 singleton 范围的对象,你硬要注入别的也未必不行,但是会有逻辑错误。
顺便吹一下我的博文《对象设计要考虑有效范围》 http://segmentfault.com/blog/sorra/1190000000666877
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
通常单例就够用了,性能略好一点点,不过单例对象就不能注入一些 scope 较小的其他对象了。
如果这么写
那么你的 controller 就可以注入 request, session, singleton 范围的对象,作为它的某个 field。
如果这么写
那么你的 controller 就只能注入 session, singleton 范围的对象。(只是举例,不要把 controller 放到 session 里,session 只适合存放会话数据)
如果写
@Scope("prototype"),就近似于 request,具体跟 Spring MVC 的实现有关。如果是单例,就只能注入 singleton 范围的对象,你硬要注入别的也未必不行,但是会有逻辑错误。
顺便吹一下我的博文《对象设计要考虑有效范围》 http://segmentfault.com/blog/sorra/1190000000666877