03 스프링 구조
p36 - src/main/java/spring/basic
public class User {
private Long userId;
private String name;
private String rank;
private LocalDate registrationDate;
private LocalDate updateDate;
public User(Long userId, String name, String rank, LocalDate registrationDate, LocalDate updateDate) {
this.userId = userId;
this.name = name;
this.rank = rank;
this.registrationDate = registrationDate;
this.updateDate = updateDate;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRank() {
return rank;
}
public void setRank(String rank) {
this.rank = rank;
}
public LocalDate getRegistrationDate() {
return registrationDate;
}
public void setRegistrationDate(LocalDate registrationDate) {
this.registrationDate = registrationDate;
}
public LocalDate getUpdateDate() {
return updateDate;
}
public void setUpdateDate(LocalDate updateDate) {
this.updateDate = updateDate;
}
}
p37
public interface UserRepository {
void save(User user);
List<User> getUsers();
Optional<User> getUserByUserId(Long userId);
}
p38
@Component
@Qualifier("userRepositoryImpl")
public class UserRepositoryImpl implements UserRepository {
private static ConcurrentMap<Long, User> users = new ConcurrentHashMap<>();
@Override
public void save(User user) {
users.put(user.getUserId(), user);
}
@Override
public List<User> getUsers() {
return new ArrayList<>(users.values());
}
@Override
public Optional<User> getUserByUserId(Long userId) {
return users.values().stream().filter(user -> user.getUserId().equals(userId)).findAny();
}
}
Last updated