概述
利用CXF框架和javax规范,通过自定义注解方式实现webservice配置和注册 让开发者可以不关心webservice复杂的底层,专注于业务逻辑的实现
自定义注解实现接口注册
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({
ElementType.TYPE})
public @interface AutoPublishWS {
//发布ws的path
String publishPath();
}
利用反射扫描注册
import lombok.extern.slf4j.Slf4j;
import org.apache.cxf.Bus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import org.springframework.web.context.WebApplicationContext;
/**
* @author Hasee
* @ClassName: AutoPublishWSEndPoint
* @Description:
* @date 2022/7/26
*/
@Slf4j
@Component
public class AutoPublishWSEndPoint implements ApplicationRunner {
@Autowired
private Bus bus;
@Autowired
private WebApplicationContext webApplicationContext;
@Override
public void