非常感谢孙浩老师。
先添加UserDaoImpl.java
package cn.lichen.dao;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import cn.lichen.entity.User;
public class UserDaoImpl {
private static Map<String, User> users = new HashMap<String, User>();
private static UserDaoImpl usedao;
public UserDaoImpl() {
users.put("admin", new User("admin", "管理员", "123"));
}
public static UserDaoImpl newInstance() {
if (usedao == null)
usedao = new UserDaoImpl();
return usedao;
}
public void add(User user) {
users.put(user.getUsername(), user);
}
public void delete(String username) {
users.remove(username);
}
public User login(String username, String passwrod) {
User user = users.get(username);
return user;
}
public List<User> list() {
Set<String> keys = users.keySet();
List<User> list = new ArrayList<User>();
for (String key : keys) {
list.add(users.get(key));
}
return list;
}
}
修改接口实现类MyServiceImpl:
package cn.lichen.service;
import java.util.List;
@WebService(endpointInterface = "cn.lichen.service.IMyService", wsdlLocation = "META-INF/wsdl/user.wsdl", portName = "UserServicePort", serviceName = "UserService", targetNamespace = "http://service.lichen.cn")
public class MyServiceImpl implements IMyService {
private UserDaoImpl userdao = UserDaoImpl.newInstance();
@Override
public void add(User user) {
userdao.add(user);
}
@Override
public void delete(String username) {
userdao.delete(username);
}
@Override
public User login(String username, String passwrod) {
return userdao.login(username, passwrod);
}
@Override
public List<User> list() {
return userdao.list();
}
}
客户端测试方法:
package cn.lichen.test;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import cn.lichen.service.IMyService;
import cn.lichen.service.User;
import cn.lichen.service.UserService;
public class TestClient {
private UserService userService = null;
private IMyService service = null;
@Before
public void init(){
userService = new UserService();
service = userService.getUserServicePort();
}
@Test
public void testList(){
List<User> users = service.list();
for(User u:users){
System.out.println(u.getNickname());
}
}
@Test
public void testAdd(){
User user = new User();
user.setUsername("lisi");
user.setNickname("李四");
user.setPasswrod("123");
service.add(user);
}
@Test
public void testLogin(){
System.out.println(service.login("lisi", "123").getNickname());
}
@Test
public void testDelete(){
service.delete("lisi");
}
}