springboot @webservice 注解的类中使用@Autowired 进行bean注入,注入的bean调用时为空的问题

原 Webservice 接口暴露方式如下

		//webservice 接口暴露
		String address = "http://localhost:8088/MyWebService";
		//使用Endpoint类提供的publish方法发布WebService,发布时要保证使用的端口号没有被其他应用程序占用
		Endpoint.publish(address, new TestWebServiceImpl());
		System.out.println("发布webservice成功!");

出现 @webservice 注解的类中使用@Autowired 进行bean注入,注入的bean调用时为空的问题,无法调用service、dao等

解决方式如下,使用@Bean 方式进行配置

package com.web.webservice;

import javax.xml.ws.Endpoint;

import org.apache.cxf.Bus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * cxf配置
 */
@Configuration
public class CxfConfig {

    @Autowired
    private Bus bus;

    @Autowired
    private TestWebServiceImpl testWebService;

    @Bean
    public Endpoint endpoint(){
        EndpointImpl endpoint = new EndpointImpl(bus, testWebService);
        endpoint.publish("/MyWebService");
        return endpoint;
    }
}

默认服务在Host:port/services/*路径下 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值