SpringBoot整合cxf发布webService,阿里开发7年大牛

9 */

10 public class User implements Serializable{

11

12 private static final long serialVersionUID = -3628469724795296287L;

13

14 private String userId;

15 private String userName;

16 private String email;

17 public String getUserId() {

18 return userId;

19 }

20 public void setUserId(String userId) {

21 this.userId = userId;

22 }

23 public String getUserName() {

24 return userName;

25 }

26 public void setUserName(String userName) {

27 this.userName = userName;

28 }

29 public String getEmail() {

30 return email;

31 }

32 public void setEmail(String email) {

33 this.email = email;

34 }

35 @Override

36 public String toString() {

37 return “User [userId=” + userId + “, userName=” + userName + “, email=” + email + “]”;

38 }

39

40 }**

3.2 服务接口

package com.example.demo.service;

import javax.jws.WebMethod;

import javax.jws.WebParam;

import javax.jws.WebResult;

import javax.jws.WebService;

import com.example.demo.entity.User;

/

  • @ClassName:UserService
  • @Description:测试服务接口类
  • include:两个测试方法
  • @author Jerry
  • @date:2018年4月10日下午3:58:10[br/>*/
//@WebService(targetNamespace="http://service.demo.example.com")如果不添加的话,动态调用invoke的时候,会报找不到接口内的方法,具体原因未知.  
@WebService(targetNamespace="](mailto:br/)[http://service.demo.example.com]( )")  
public interface UserService {
@WebMethod//标注该方法为webservice暴露的方法,用于向外公布,它修饰的方法是webservice方法,去掉也没影响的,类似一个注释信息。  
public User getUser(@WebParam(name = "userId") String userId);
@WebMethod[br/>@WebResult(name="String",targetNamespace="")  
public String getUserName(@WebParam(name = "userId") String userId);](mailto:br/)

}**

3.3 服务接口的实现类

package com.example.demo.service.impl;

import java.util.HashMap;

import java.util.Map;

import java.util.UUID;

import javax.jws.WebService;

import org.springframework.stereotype.Component;

import com.example.demo.entity.User;

import com.example.demo.service.UserService;

/

  • @ClassName:UserServiceImpl
  • @Description:测试服务接口实现类
  • @author Jerry
  • @date:2018年4月10日下午3:58:58[br/>*/
@WebService(serviceName="UserService",//对外发布的服务名  
targetNamespace="](mailto:br/)[http://service.demo.example.com",//指定你想要的名称空间,通常使用使用包名反转]( )  
endpointInterface="com.example.demo.service.UserService")//服务接口全路径, 指定做SEI(Service EndPoint Interface)服务端点接口[br/>@Component  
public class UserServiceImpl implements UserService{](mailto:br/)
private Map<String, User> userMap = new HashMap<String, User>();  
public UserServiceImpl() {  
System.out.println("向实体类插入数据");  
User user = new User();  
user.setUserId(UUID.randomUUID().toString().replace("-", ""));[](mailto:br/)user.setEmail("Jerry@163.xom");  
br/>user.setUserName("test1");  
user.setEmail("Jerry@163.xom");  
userMap.put(user.getUserId(), user);
user = new User();
user.setUserId(UUID.randomUUID().toString().replace("-", ""));
user.setUserName("test2");
user.setEmail("Jerryfix@163.xom");
userMap.put(user.getUserId(), user);
user = new User();
user.setUserId(UUID.randomUUID().toString().replace("-", ""));
user.setUserName("test3");
user.setEmail("Jerryfix@163.xom");
userMap.put(user.getUserId(), user);
}[br/>@Override  
public String getUserName(String userId) {  
return "userId为:" + userId;](mailto:br/)[br/>}  
@Override  
public User getUser(String userId) {  
System.out.println("userMap是:"+userMap);  
return userMap.get(userId);  
}](mailto:br/)

}****

3.4 发布webService的配置

package com.example.demo.config;

import javax.xml.ws.Endpoint;

import org.apache.cxf.Bus;

import org.apache.cxf.jaxws.EndpointImpl;

import org.apache.cxf.transport.servlet.CXFServlet;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.web.servlet.ServletRegistrationBean;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import com.example.demo.service.UserService;

/**

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

判断

回到题目,如果你真想检验一个人的水平。第一步先考察一下基本的编程基础,问几个基本的编程问题,可以和前端相关也可以无关。比如垃圾收集大致是怎么做的,setTimeout 大致做了什么(说会在另一个线程里执行回调的直接毙掉)。

第二步考察一下知识面,问问http、tcp的基本知识,dns是怎么工作的,或者常用框架的实现原理,看看候选人是不是除了自己的一亩三分地什么都不关心。

第三步考察hold业务逻辑的能力,从一个简单的注册页,或者查询页开始,先让说下代码的基本架构,然后需求、性能、可靠性、安全层层加码,看看能不能很快的反馈出解决方案。能对答如流的要么做过,要么对他来说这种复杂度的东西是小case。

前三步都没问题,基本上说明候选人已经还行了,但是行到什么程度,不知道。如果想找比较厉害的,就增加个第四步,亮点项目考察。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

总的来说,面试官要是考察思路就会从你实际做过的项目入手,考察你实际编码能力,就会让你在电脑敲代码,看你用什么编辑器、插件、编码习惯等。所以我们在回答面试官问题时,有一个清晰的逻辑思路,清楚知道自己在和面试官说项目说技术时的话就好了,我整理一套前端面试题分享给大家,希望对即将去面试的小伙伴们有帮助!

核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

总的来说,面试官要是考察思路就会从你实际做过的项目入手,考察你实际编码能力,就会让你在电脑敲代码,看你用什么编辑器、插件、编码习惯等。所以我们在回答面试官问题时,有一个清晰的逻辑思路,清楚知道自己在和面试官说项目说技术时的话就好了,我整理一套前端面试题分享给大家,希望对即将去面试的小伙伴们有帮助!

[外链图片转存中…(img-K5crtLVS-1710836956052)]

[外链图片转存中…(img-Oustttbj-1710836956053)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值