728x90
entity와 repository를 만든 후,
service를 생성하는데, 여기에는 UserService와 UserServiceImpl 두 개의 클래스가 있습니다.
UserService
package com.lion.demo.service;
import com.lion.demo.entity.User;
import java.util.List;
public interface UserService {
int CORRECT_LOGIN = 0;
int WRONG_PASSWORD = 1;
int USER_NOT_EXIST = 2;
User findByUid(String uid);
List<User> getUsers();
void registerUser(User user);
void updateUser(User user);
void deleteUser(String uid);
int login(String uid, String pwd);
}
UserServiceImpl
package com.lion.demo.service;
import com.lion.demo.entity.User;
import com.lion.demo.repository.UserRepository;
import java.util.List;
import org.mindrot.jbcrypt.BCrypt;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Override
public User findByUid(String uid) {
return userRepository.findById(uid).orElse(null);
}
@Override
public List<User> getUsers() {
return userRepository.findAll();
}
@Override
public void registerUser(User user) {
userRepository.save(user);
}
@Override
public void updateUser(User user) {
userRepository.save(user);
}
@Override
public void deleteUser(String uid) {
userRepository.deleteById(uid);
}
@Override
public int login(String uid, String pwd) {
User user = findByUid(uid);
if (user == null) {
return USER_NOT_EXIST;
}
if (BCrypt.checkpw(pwd, user.getPwd())) {
return CORRECT_LOGIN;
}
return WRONG_PASSWORD;
}
}
728x90