2

我使用 jax-ws commons 网站上的教程使用 jax-ws 和 Spring 开发了一个 Web 服务。它向您展示了如何从 spring applicationContext 文件 ( https://jax-ws-commons.dev.java.net/spring/ )定义和引用您的服务。

引用 Web 服务时出现“#”的原因是什么?我希望看到更多类似的东西

<ws:service name="myEventWS" ref="eventWebService"/> 

但是按照上面链接中的示例,我创建了以下有效的示例。

<bean id="eventWebService" class="com.myws.EventWS">
    <property name="model" ref="EventModel"/>
</bean>

<wss:binding url="/EventWS">
    <wss:service>
        <ws:service bean="#eventWebService"/>
    </wss:service>
</wss:binding>
4

3 回答 3

2

<ws:service>正在使用自定义配置命名空间,这是 Spring 的一个特性,它允许您使用更简单的命名空间来表达复杂的 bean 图。这些自定义名称空间的含义和解释取决于所讨论的实现,在本例中是 JAX-WS-Commons 项目。似乎该作者决定这bean=#eventWebService意味着您所说的ref="eventWebService".

我不知道他们为什么那样做,也许他们认为它更具可读性......也许他们认为bean=eventWebService(没有哈希)意味着名称,而不是参考......我不知道。文档也不是很清楚。

无论哪种方式,我很确定它不是核心 Spring 语法,也不是我以前见过的约定。

于 2010-01-11T22:12:26.927 回答
0

“#”告诉 bean 它不是一个类,而是一个 ref。

高温高压

于 2010-02-01T09:18:19.287 回答
0

#eventWebService指的是类型的EventWebServicebean(未指定bean时根据默认的Spring命名约定)。

于 2010-02-01T10:04:06.090 回答