发表于: 2017-06-17 19:33:32

1 902


今天完成的事情:对task1的service编译

Userservice.java

package me.wyc.springmvc.service;

import java.util.List;

import me.wyc.springmvc.model.User;



public interface UserService {

User findById(long id);
 
  User findByName(String name);
 
  void saveUser(User user);
 
  void updateUser(User user);
 
  void deleteUserById(long id);

  List<User> findAllUsers();
 
  void deleteAllUsers();
 
  public boolean isUserExist(User user);
 
}

UserserviceImpl.java

package me.wyc.springmvc.service;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import me.wyc.springmvc.model.User;

@Service("userService")
@Transactional
public class UserServiceImpl implements UserService{

private static final AtomicLong counter = new AtomicLong();
 
  private static List<User> users;
 
  static{
users= populateDummyUsers();
  }

public List<User> findAllUsers() {
return users;
  }

public User findById(long id) {
for(User user : users){
if(user.getId() == id){
return user;
        }
}
return null;
  }

public User findByName(String name) {
for(User user : users){
if(user.getName().equalsIgnoreCase(name)){
return user;
        }
}
return null;
  }

public void saveUser(User user) {
user.setId(counter.incrementAndGet());
     users.add(user);
  }

public void updateUser(User user) {
int index = users.indexOf(user);
     users.set(index, user);
  }

public void deleteUserById(long id) {

for (Iterator<User> iterator = users.iterator(); iterator.hasNext(); ) {
User user = iterator.next();
         if (user.getId() == id) {
iterator.remove();
         }
}
}

public boolean isUserExist(User user) {
return findByName(user.getName())!=null;
  }

public void deleteAllUsers(){
users.clear();
  }

private static List<User> populateDummyUsers(){
List<User> users = new ArrayList<User>();
     users.add(new User(counter.incrementAndGet(),1693,"刘家铭","286683815","Java工程师","2017年4月19日","武汉工程职业技术学院","http://www.jnshu.com/daily/20789?uid=11009","老大最帅","吴志勇"));
     return users;
  }

}

user.java

package me.wyc.springmvc.model;

public class User {

private long id;
  private String name;
  private String qq;
  private String type;
  private String regeneration_time;
  private String school;
  private String link;
  private String declaration;
  private String coaching_senior;

  public User(){
id=0;
  }

public User(long id, int i, String name, String qq, String type, String school, String link, String regeneration_time, String declaration, String coaching_senior){
this.id = id;
     this.name = name;
     this.qq = qq;
     this.type = type;
     this.school = school;
     this.link = link;
     this.regeneration_time = regeneration_time;
     this.declaration = declaration;
     this.coaching_senior = coaching_senior;
  }

public long getId() {
return id;
  }

public void setId(long id) {
this.id = id;
  }

public String getName() {
return name;
  }

public void setName(String name) {
this.name = name;
  }

public String getType() {
return type;
  }

public void setType(String type) {
this.type = type;
  }

public String getSchool() {
return school;
  }

public void setSchool(String school) {
this.school = school;
  }

public String getLink() {
return link;
  }

public void setLink(String link) {
this.link = link;
  }

public String getRegeneration_time() {
return regeneration_time;
  }

public void setRegeneration_time(String regeneration_time) {
this.regeneration_time = regeneration_time;
  }

public String getQq() {
return qq;
  }

public void setQq(String qq) {
this.qq = qq;
  }

public String getDeclaration() {
return declaration;
  }

public void setDeclaration(String declaration) {
this.declaration = declaration;
  }

public String getCoaching_senior() {
return coaching_senior;
  }

public void setCoaching_senior(String coaching_senior) {
this.coaching_senior = coaching_senior;
  }

@Override
  public int hashCode() {
final int prime = 31;
     int result = 1;
     result = prime * result + (int) (id ^ (id >>> 32));
     return result;
  }

@Override
  public boolean equals(Object obj) {
if (this == obj)
return true;
     if (obj == null)
return false;
     if (getClass() != obj.getClass())
return false;
     User other = (User) obj;
     if (id != other.id)
return false;
     return true;
  }

@Override
  public String toString() {
return "User [id=" + id + ", name=" + name + ", qq=" + qq
           + ", type=" + type + ", regeneration_time=" + regeneration_time +",school=" + school +",link=" + link +",declaration=" + declaration +",coaching_senior="+ coaching_senior +"  ]";
  }

}

controler.java

package me.wyc.springmvc.controller;

import java.util.List;

import me.wyc.springmvc.model.User;
import me.wyc.springmvc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.util.UriComponentsBuilder;

@RestController
public class HelloWorldRestController {

@Autowired
   UserService userService;  //Service which will do all data retrieval/manipulation work

   
   //-------------------Retrieve All Users--------------------------------------------------------
   
   @RequestMapping(value = "/user/", method = RequestMethod.GET)
public ResponseEntity<List<User>> listAllUsers() {
List<User> users = userService.findAllUsers();
       if(users.isEmpty()){
return new ResponseEntity<List<User>>(HttpStatus.NO_CONTENT);//You many decide to return HttpStatus.NOT_FOUND
       }
return new ResponseEntity<List<User>>(users, HttpStatus.OK);
   }


//-------------------Retrieve Single User--------------------------------------------------------
   
   @RequestMapping(value = "/user/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<User> getUser(@PathVariable("id") long id) {
System.out.println("Fetching User with id " + id);
       User user = userService.findById(id);
       if (user == null) {
System.out.println("User with id " + id + " not found");
           return new ResponseEntity<User>(HttpStatus.NOT_FOUND);
       }
return new ResponseEntity<User>(user, HttpStatus.OK);
   }



//-------------------Create a User--------------------------------------------------------
   
   @RequestMapping(value = "/user/", method = RequestMethod.POST)
public ResponseEntity<Void> createUser(@RequestBody User user,    UriComponentsBuilder ucBuilder) {
System.out.println("Creating User " + user.getName());

       if (userService.isUserExist(user)) {
System.out.println("A User with name " + user.getName() + " already exist");
           return new ResponseEntity<Void>(HttpStatus.CONFLICT);
       }

userService.saveUser(user);

       HttpHeaders headers = new HttpHeaders();
       headers.setLocation(ucBuilder.path("/user/{id}").buildAndExpand(user.getId()).toUri());
       return new ResponseEntity<Void>(headers, HttpStatus.CREATED);
   }


//------------------- Update a User --------------------------------------------------------
   
   @RequestMapping(value = "/user/{id}", method = RequestMethod.PUT)
public ResponseEntity<User> updateUser(@PathVariable("id") long id, @RequestBody User user) {
System.out.println("Updating User " + id);
       
       User currentUser = userService.findById(id);
       
       if (currentUser==null) {
System.out.println("User with id " + id + " not found");
           return new ResponseEntity<User>(HttpStatus.NOT_FOUND);
       }

currentUser.setName(user.getName());
       currentUser.setQq(user.getQq());
       currentUser.setType(user.getType());
       currentUser.setCoaching_senior(user.getCoaching_senior());
       currentUser.setDeclaration(user.getDeclaration());
       currentUser.setLink(user.getLink());
       currentUser.setSchool(user.getSchool());
       currentUser.setRegeneration_time(user.getRegeneration_time());
       
       userService.updateUser(currentUser);
       return new ResponseEntity<User>(currentUser, HttpStatus.OK);
   }

//------------------- Delete a User --------------------------------------------------------
   
   @RequestMapping(value = "/user/{id}", method = RequestMethod.DELETE)
public ResponseEntity<User> deleteUser(@PathVariable("id") long id) {
System.out.println("Fetching & Deleting User with id " + id);

       User user = userService.findById(id);
       if (user == null) {
System.out.println("Unable to delete. User with id " + id + " not found");
           return new ResponseEntity<User>(HttpStatus.NOT_FOUND);
       }

userService.deleteUserById(id);
       return new ResponseEntity<User>(HttpStatus.NO_CONTENT);
   }


//------------------- Delete All Users --------------------------------------------------------
   
   @RequestMapping(value = "/user/", method = RequestMethod.DELETE)
public ResponseEntity<User> deleteAllUsers() {
System.out.println("Deleting All Users");

       userService.deleteAllUsers();
       return new ResponseEntity<User>(HttpStatus.NO_CONTENT);
   }

}

明天计划的事情:完成任务三

遇到的问题:找到的案例是用eclipse编译的打包实际运行时出错

收获:了解了注释的使用


返回列表 返回列表
评论

    分享到