spring @WebService 注解
spring @WebService 注解
Spring框架介绍
I have a Web Service which I am trying to Autowire a variable into. Here is the class:
package com.xetius.isales.pr7.service; import java.util.Arrays; import java.util.List; import javax.jws.WebService; import org.springframework.beans.factory.annotation.Autowired; import com.xetius.isales.pr7.domain.PR7Product; import com.xetius.isales.pr7.domain.PR7Upgrade; import com.xetius.isales.pr7.logic.UpgradeControllerInterface; @WebService(serviceName="ProductRulesService", portName="ProductRulesPort", endpointInterface="com.xetius.isales.pr7.service.ProductRulesWebService", targetNamespace="http://pr7.isales.xetius.com") public class ProductRulesWebService implements ProductRulesWebServiceInterface { @Autowired private UpgradeControllerInterface upgradeController; @Override public List<PR7Product> getProducts() { if (upgradeController == null) { return Arrays.asList(new PR7Product("Fail")); } return upgradeController.getProducts(); } @Override public List<PR7Upgrade> getUpgrades() { if (upgradeController == null) { return Arrays.asList(new PR7Upgrade("Fail")); } return upgradeController.getUpgrades(); } @Override public List<PR7Product> getProductsForUpgradeWithName(String upgradeName) { if (upgradeController == null) { return Arrays.asList(new PR7Product("Fail")); } return getProductsForUpgradeWithName(upgradeName); } }
However, when I try to access the web service I am getting the Fail version returned, meaning that upgradeController is not being autowired. Here is my applicationContext:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package="com.xetius.isales.pr7" /> <context:annotation-config /> <bean id="upgradeController" class="com.xetius.isales.pr7.logic.UpgradeController" /> </beans>
How do I make it so that the @WebService class is spring aware and autowiring happens
http://luju.me/spring/reference/overview.html