欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot創(chuàng)建WebService方法詳解

 更新時間:2023年05月06日 10:45:08   作者:ceaningking  
這篇文章主要介紹了SpringBoot如何創(chuàng)建WebService,文中有詳細的實現(xiàn)步驟以及示例代碼,對學習或工作有一定的幫助,需要的朋友跟著小編一起來學習吧

開發(fā)環(huán)境: IDEA 2022.1.4

1. 概述

雖然webservice這塊使用很少,但在局域網(wǎng)作服務(wù)還是相當不錯。今天突生想法,想做一個來試試,查閱百度資料,親手實踐下。方便操作,便在現(xiàn)有得SpringBoot項目上,來實踐下,也順便試試Spring web服務(wù)與webservice功能是否可以一起發(fā)布。

我主要添加了三個java文件,一個接口IWebService,一個接口實現(xiàn)類IWebServiceImpl,一個配置類CxfConfig。

2. 實現(xiàn)步驟

2.1 POM現(xiàn)加依賴

        <!-- WebSevice -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web-services</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>3.1.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>3.1.6</version>
        </dependency>

2.2  定義接口 IWebService

@WebService(name = "WebService", targetNamespace = "service.xtjk.ceaning.com")
@BindingType(SOAPBinding.SOAP12HTTP_BINDING)
public interface IWebService {
    @WebMethod
    String BedInfo() throws JsonProcessingException;
    @WebMethod
    Result<?> DeptInfo();
    @WebMethod
    Result<?> UserInfo();
    @WebMethod
    Result<?> WardInfo();
    @WebMethod
    Result<?> OrderInfo(@WebParam(name = "param") String param);
    @WebMethod
    Result<?> InPatiengInfo(@WebParam(name = "param") String param);
    @WebMethod
    Result<?> SaveGlu(@WebParam(name = "param") String param);
}

2.3 創(chuàng)建類 IWebServiceImpl 并實現(xiàn)接口 IWebService

@Slf4j
@Component
@WebService(name = "WebService",
        targetNamespace = "service.xtjk.ceaning.com",
        endpointInterface = "com.ceaning.xtjk.service.IWebService")
public class IWebServiceImpl implements IWebService {
    @Autowired
    private DictionaryMapper dictionaryMapper;
    @Autowired
    private OrderMapper orderMapper;
    @Autowired
    private InPatientMapper inPatientMapper;
    @Autowired
    private ResultMapper resultMapper;
 
    @Override
    public String BedInfo() throws JsonProcessingException {
        ObjectMapper obj= new ObjectMapper();
        List<Bed> list= null;
        try{
            list= dictionaryMapper.getBedInfo();
            return obj.writeValueAsString(Result.ok(list));
        } catch (Exception e){
            log.error(e.getMessage());
            return obj.writeValueAsString(Result.exception(e.getMessage()));
        }
    }
 
    @Override
    public String DeptInfo() throws JsonProcessingException {
        ObjectMapper obj= new ObjectMapper();
        List<Dept> list= null;
        try{
            list= dictionaryMapper.getDeptInfo();
            return obj.writeValueAsString(Result.ok(list));
        } catch (Exception e){
            log.error(e.getMessage());
            return obj.writeValueAsString(Result.exception(e.getMessage()));
        }
    }
 
    @Override
    public String UserInfo() throws JsonProcessingException {
        ObjectMapper obj= new ObjectMapper();
        List<User> list= null;
        try{
            list= dictionaryMapper.getUserInfo();
            return obj.writeValueAsString(Result.ok(list));
        } catch (Exception e){
            log.error(e.getMessage());
            return obj.writeValueAsString(Result.exception(e.getMessage()));
        }
    }
 
    @Override
    public String WardInfo() throws JsonProcessingException {
        ObjectMapper obj= new ObjectMapper();
        List<Ward> list= null;
        try{
            list= dictionaryMapper.getWardInfo();
            return obj.writeValueAsString(Result.ok(list));
        } catch (Exception e){
            log.error(e.getMessage());
            return obj.writeValueAsString(Result.exception(e.getMessage()));
        }
    }
 
    @Override
    public String OrderInfo(String param) throws JsonProcessingException {
        ObjectMapper mapper= new ObjectMapper();
        List<Order> list= null;
        try{
            OrderParam obj= mapper.readValue(param, OrderParam.class);
            list= orderMapper.getList(obj);
            return mapper.writeValueAsString(Result.ok(list));
        } catch (Exception e){
            log.error(e.getMessage());
            return mapper.writeValueAsString(Result.exception(e.getMessage()));
        }
    }
 
    @Override
    public String InPatiengInfo(String param) throws JsonProcessingException {
        ObjectMapper mapper= new ObjectMapper();
        List<InPatient> list= null;
        try{
            InPatientParam obj= mapper.readValue(param, InPatientParam.class);
            list= inPatientMapper.getList(obj);
            return mapper.writeValueAsString(Result.ok(list));
        } catch (Exception e){
            log.error(e.getMessage());
            return mapper.writeValueAsString(Result.exception(e.getMessage()));
        }
    }
 
    @Override
    public String SaveGlu(String param) throws JsonProcessingException {
        ObjectMapper mapper= new ObjectMapper();
        DbResult ret= null;
        try{
            ResultParam obj= mapper.readValue(param, ResultParam.class);
            ret= resultMapper.save(obj);
            if (ret.getCode().trim().equals("T")){
                return mapper.writeValueAsString(Result.ok(ret.getMessage()));
            }
            else{
                return mapper.writeValueAsString(Result.error(ret.getMessage()));
            }
        } catch (Exception e){
            log.error(e.getMessage());
            return mapper.writeValueAsString(Result.exception(e.getMessage()));
        }
    }
}

2.4  配置類  CxfConfig

@Configuration
public class CxfConfig {
    @Autowired
    private IWebService service;
 
    @Bean
    public ServletRegistrationBean disServlet(){
        return new ServletRegistrationBean(new CXFServlet(), "/open/xtjk/*");
    }
    @Bean(name = Bus.DEFAULT_BUS_ID)
    public SpringBus springBus(){
        return new SpringBus();
    }
    @Bean
    public Endpoint endpoint(){
        EndpointImpl endpoint= new EndpointImpl(springBus(), service);
        endpoint.publish("/IWebService");
        return endpoint;
    }
}

2.5 啟動服務(wù)

瀏覽器訪問: http://127.0.0.1:8090/open/xtjk/IWebService?wsdl

需要注意URL路徑和CxfConfig得配置關(guān)聯(lián)

2.6 測試

我使用另一個電腦安裝得SoapUI進行測試,數(shù)據(jù)獲取正常。就不截圖了。

篇幅有限,就不羅列其他得了。Springboot相關(guān)知識網(wǎng)上很多。

到此這篇關(guān)于SpringBoot創(chuàng)建WebService方法詳解的文章就介紹到這了,更多相關(guān)SpringBoot創(chuàng)建WebService內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?synchronized底層實現(xiàn)原理以及鎖優(yōu)化

    Java?synchronized底層實現(xiàn)原理以及鎖優(yōu)化

    Synchronized是Java中解決并發(fā)問題的一種最常用的方法,也是最簡單的一種方法,下面這篇文章主要給大家介紹了關(guān)于Java?synchronized底層實現(xiàn)原理以及鎖優(yōu)化的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • linux部署出現(xiàn)java文件操作報錯:java.io.FileNotFoundException解決辦法

    linux部署出現(xiàn)java文件操作報錯:java.io.FileNotFoundException解決辦法

    這篇文章主要g介紹了linux部署出現(xiàn)java文件操作報錯:java.io.FileNotFoundException解決的相關(guān)資料,這個錯誤通常表示你的Spring Boot應用程序無法找到指定的文本文件,需要的朋友可以參考下
    2023-12-12
  • Java方法的參數(shù)傳遞機制詳解

    Java方法的參數(shù)傳遞機制詳解

    這篇文章主要介紹了Java方法的參數(shù)傳遞機制詳解,對于Java初學者來說,剛學習Java的時候可能經(jīng)常會聽到調(diào)用方法時參數(shù)的值傳遞與引用傳遞,但是,實際上Java中方法的參數(shù)傳遞機制只有值傳遞,需要的朋友可以參考下
    2024-01-01
  • SpringBoot 過濾器 Filter使用實例詳解

    SpringBoot 過濾器 Filter使用實例詳解

    這篇文章主要為大家介紹了SpringBoot 過濾器Filter使用實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • SpringBoot整合Swagger3生成接口文檔過程解析

    SpringBoot整合Swagger3生成接口文檔過程解析

    這篇文章主要介紹了SpringBoot整合Swagger3生成接口文檔過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • MyBatis實現(xiàn)動態(tài)查詢、模糊查詢功能

    MyBatis實現(xiàn)動態(tài)查詢、模糊查詢功能

    這篇文章主要介紹了MyBatis實現(xiàn)動態(tài)查詢、模糊查詢功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • 詳解Spring中的攔截器與過濾器

    詳解Spring中的攔截器與過濾器

    Filter?過濾器和Interceptor?攔截器是SpringBoot?的?Web?項目開發(fā)中長用到的,本文主要來和大家討論一下?Filter?與?Interceptor?的做法及它們之間的區(qū)別,需要的可以參考下
    2023-07-07
  • 談?wù)刯ava的concurrent用法

    談?wù)刯ava的concurrent用法

    這篇文章給大家介紹java的concurrent用法,感興趣的朋友一起學習吧
    2015-10-10
  • 關(guān)于Java中的 JSP 詳解

    關(guān)于Java中的 JSP 詳解

    JSP 代表 Java 服務(wù)器頁面。它是一種在應用服務(wù)器端使用的編程工具。JSP 基本上用于支持平臺–獨立和動態(tài)的方法來構(gòu)建 Web 依賴的應用程序。JSP 頁面類似于 ASP 頁面,因為它們是在服務(wù)器上編譯的,而不是在用戶的 Web 瀏覽器上進行編譯。下面來看看文章的詳細介紹內(nèi)容
    2021-11-11
  • 詳解Springboot中的異步、定時、郵件任務(wù)

    詳解Springboot中的異步、定時、郵件任務(wù)

    這篇文章主要介紹了Springboot中的異步、定時、郵件任務(wù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-11-11

最新評論