java – Action类可以限定为Singleton吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Action类可以限定为Singleton吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1115字,纯文字阅读大概需要2分钟。
内容图文
![java – Action类可以限定为Singleton吗?](/upload/InfoBanner/zyjiaocheng/707/885789311a06435680467e00845da484.jpg)
我的问题不仅仅是动作类可以限定为单例,而且我还想知道哪些是最佳实践.两者都在Struts2和Spring的背景下.控制器和型号的最佳VIEW范围(例如请求或会话).
解决方法:
> Struts2操作由Struts容器管理.它们是ThreadLocal,因此每个请求都有自己的Action的线程安全副本.
>如果您使用Spring通过Struts2-Spring-plugin处理它们,则有多种用法:
>你可以让Struts容器实例化它们,并通过Spring处理它们以进行依赖注入,或者
>你可以让Spring接管并完全负责每个Action的整个生命周期.在第二种情况下:
>如果在Spring XML配置文件中将操作声明为bean,则操作将获得默认的Spring范围,即Singleton(scope =“singleton”).这是危险的,无用的,99.99%的时间并不是你想要的,因为你将失去框架能力的一个基本部分,行动将变成一种类型的servlet,线程 – UNsafe,并且会出现许多问题;
>为了防止这种情况,你可以将scope =“prototype”放在bean声明中,这样可以让Spring在不影响其性质的情况下实例化动作.
>如果您在符合Java EE 6的容器内(例如,Jboss 7,Wildfly 8,TomEE 1.7,Glassfish 3,ecc …),则通过CDI处理上下文和依赖注入.如果需要,可以使用Struts2-CDI-plugin允许CDI处理您的操作并通过@Inject注释注入依赖项(而不是@Autowired注释)
我过去经常使用Spring,然后在发现CDI和CDI插件之后,我已经切换并且从未回头,所以我投票给了n.3
内容总结
以上是互联网集市为您收集整理的java – Action类可以限定为Singleton吗?全部内容,希望文章能够帮你解决java – Action类可以限定为Singleton吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。