当前位置:编程学习 > JAVA >>

javaweb使用spring框架,创建bean时想使用自己定义的静态工厂,但是需要传入几个参数,其中有httpsession可以做到吗? 新手求指点

我有一个Cart类(属于service),还有一个创建它的静态工厂CartFactory,工厂中有getInstance(Map session)现在项目整合S2SH,遇到spring管理静态工厂传值问题,哪位高手帮忙解决下,不胜感激。。。

CartFactory.java


解释:上面的session是mapsession与httpsession具有等同效果,是在action中继承SessionAware得到
applicationContext.xml配置文件

在网上查可以用constructor-arg也就是构造方法的方式传值,可是我要传的值不是普通值,也不是普通的bean,是session,怎么传呢?
--------------------编程问答-------------------- 貌似做不到~ 你这个就跟servlet容器耦合了啊,违背了spring的设计初衷了 --------------------编程问答-------------------- 恩,这个确实做不到咯。换种思路吧 --------------------编程问答-------------------- 为什么要这么做?意义何在?你不用spring传递,你直接用s2获取session传递进去嘛。 --------------------编程问答--------------------
引用 3 楼 wuhongjun126 的回复:
为什么要这么做?意义何在?你不用spring传递,你直接用s2获取session传递进去嘛。


我主要问题是想让spring管理cart类,我的cart是购物车类,想在创建cart的时候将其放入session中,其实还想用request获取cookie再将cookie数据返回给session中的cart类,总之目的就是想让spring实例化cart时先做一些操作。。 --------------------编程问答--------------------
引用 1 楼 rainbowsix 的回复:
貌似做不到~ 你这个就跟servlet容器耦合了啊,违背了spring的设计初衷了


我的cart是购物车类,想在创建cart的时候将其放入session中,其实还想用request获取cookie再将cookie数据返回给session中的cart类,您能想个不解耦一点的方法不?感激不尽啊。。。 --------------------编程问答--------------------
引用 5 楼 aiyaya_ 的回复:
Quote: 引用 1 楼 rainbowsix 的回复:

貌似做不到~ 你这个就跟servlet容器耦合了啊,违背了spring的设计初衷了


我的cart是购物车类,想在创建cart的时候将其放入session中,其实还想用request获取cookie再将cookie数据返回给session中的cart类,您能想个不解耦一点的方法不?感激不尽啊。。。


可以给 httpsession 加个lisenner ,在session创建后加入cart, 

这个不需要用spring注入吧。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,