发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA
1 2 下一页 Go 2

对spring的困惑????

    
2009-05-09 12:28
赞助商链接

自从开始学习spring看见的例子都是B/S体系的,对于IOC也没有觉得特别的难以理解。最近在C/S体系中却出现了一个不小的困惑在B/S项目中如果要在一个Action中使用一个注入好的类只要在Action中对其产生Getter/Setter
然后在applicationContext.xml文件中写
<bean name="/jsp/admin/adminquestion"
class="org.lxh.myzngt.struts.action.AdminquestionAction">
<property name="iquestiondao">
<ref bean="iquestiondaoimpl" />
</property>
</bean>
这样在 AdminquestionAction这个类中就可以使用在applicationContext.xml配置好的iquestiondaoimp这个所指向的类了。
在C/S项目中我希望可以同样的方式去使用而不用去通过
(下面的例子程序是spring.net中的)
spring.xml文件中:
<object id="ExamineroominfoDao" type="DZ.BookingSystem.KBP.DataAccess.ExamineroominfoDao">
<property name="HibernateTemplate" ref="HibernateTemplate" />
</object>
<object id="ExaminRoomInterface" type="DZ.BookingSystem.KBP.Common.ExaminRoomInterfaceImp">
<property name="ED" ref="ExamineroominfoDao" />
</object>


具体的类中:
IApplicationContext context = ContextRegistry.GetContext();
ExaminRoomInterface um = (ExaminRoomInterface)context.GetObject("ExaminRoomInterface");
来得到ExaminRoomInterface这个接口所指向的类。
请各位大虾帮帮忙,有没有什么方法能让我需要使用的时候直接就可以使用,不用在通过上面的方式来得到我所希望得到的类??请各位帮我出出主意 谢谢了

2009-05-09 18:55

LZ的意思是不通过
IApplicationContext context = ContextRegistry.GetContext();
ExaminRoomInterface um = (ExaminRoomInterface)context.GetObject("ExaminRoomInterface");
的方式获取对象?

对于sping来讲没有别的方式了,除非你自己再次进行封装。

2009-05-10 11:45

我确实是那个意思,但是在BS中不是也没有通过这样的方式来直接用么?能不能告诉我在Bs中我使用的是SSH架构,在什么地方就已经把IApplicationContext context = ContextRegistry.GetContext()这样的方式封装好了?

2009-05-13 09:34

因为B/S中,他们都是在一个Spring的context容器中,所以,不用IApplicationContext context = ContextRegistry.GetContext(),

但是因为你是C/S,客户端物理位置已经不在Spring的context容器了,不在同一个容器,你是分布式,分离开了。
分布式依赖可以依靠OSGI来解决。

2009-05-14 15:28

谢谢你,banq,让我慢慢融入到你们的世界里。。。
开始越来越喜欢这个地方了
我会常来的
[该贴被1s2k3y4于2009-05-14 15:29修改过]

2Go 1 2 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com