永发信息网

struts2和spring集成后bean是单例还是多例,是怎么管理的

答案:2  悬赏:20  手机版
解决时间 2021-03-02 15:05
struts2和spring集成后bean是单例还是多例,是怎么管理的
最佳答案
spring默认是单例模式,但是Struts的Action一般来说一个线程请求要有一个Action这样才能保证数据安全,所以Struts的Action要配置scope="prototype" 不使用单例模式。
全部回答
对于大多数的应用,从表现层的action,到持久层的datasource,都被spring 作为 bean 管理。如果这些bean 被配置在同一个文件中,阅读及维护该配置文件将是一件非 常有挑战的事情。 因此, spring 建议:将一个大的配置文件分解成多个小的配置文件,使每个配置文 件仅仅管理功能近似于bean; 这样不仅可以分散配置文件,降低修改配置文件的风险, 而且更符合"分而治之"的软件工程原理。 多个配置文件最终需要汇总, applicationcontext提供如下方式来汇总多个配置文件: .使用app1icationcontext 加载多个配置文件。 ? web 应用启动时加载多个配置文件。 ? xml 配置文件中导入其他配置。 1 applicationcontext 加载多个配置文件 applicatoncontext 的常用实现类有如下两个: ? classpathxm1 applicationcontext 。 ? filesystemxm1applicationcontext 。 这两个类都可以用来加载多个配置文件,它们的构造器都可以接收一个数组,并在 该数组中存放多个配置文件。classpathxm1applicationcontext 可采用如下代码加载多个 配置文件: /i创建配置文件数组 /i假设有3 个配置文件: a.xml , b.xml , c.xml str工ng[) configlocations = {"a.xml" , "b.xml" , "c.xml"} 以配置文件数组为参数,创建applicationcontext applicationcontext ctx = new classpathxmlapplicationcontext(configlocations); 与采用filesystemxm1applicationcontext创建applicationcontext的方式相似,区别 仅在于二者搜索配置文件的路径不同:classpathxm1applicationcontext通过classpath 路径搜索配置文件:而filesystemxm1applicationcontext则在当前路径搜索配置文件。 2 web 应用启动时加载多个配置文件 参看5.12.3 节所述,通过contextloaderlistener 也可加载多个配置文件,可利用 337 轻量级j2ee 企业应用实战一一-struts+spring+hibernate 整合开发 元素来指定多个配置文件位置,其配置如下: 3 xml 配置文件中导人其他配置文件 配置文件本身和其子元素import. 可用于导入其他配置文件。具体的配置示例如下:
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯