【发布时间】:2011-04-28 19:58:58
【问题描述】:
我正在开发一个 JAX-WS 项目,现在我想为我的一个实用程序添加依赖注入。
该实用程序有一个界面; GeocodeUtil,以及两个实现,GeocodeUtilGoogleImpl 和 GeocodeUtilYahooImpl。现在,在我的服务类中,我有以下内容:
public class MyService {
private GeocodeUtil geocodeUtil;
/* getter and setter for geocodeUtil */
}
在我的 applicationContext.xml 中,我有以下内容:
<bean id="geocodeUtil" class="com.company.GeocodeUtilGoogleImpl"/>
<bean id="myService" class="com.company.MyService">
<property name="geocodeUtil" ref="geocodeUtil" />
</bean>
这是我的 web.xml(仅与 Spring 相关的部分):
<!-- Spring context -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- Listeners -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
当我创建 MyService 对象的实例并尝试使用 geocodeUtil 时,我得到一个 NullPointerException 并且在我看来该实现没有被注入。 我认为奇怪的是,一旦我删除 getter/setter,应用程序在启动时崩溃,Spring 抱怨缺少 setter/getter,这让我认为 XML 配置实际上是正确的。
我没有使用任何与 spring 相关的 Java 注释。
非常感谢任何帮助。
【问题讨论】:
标签: spring dependency-injection jax-ws javabeans