ํ์ ์๋น์ค ํด๋์ค ๋ง๋ค๊ธฐ
ํ์ Repository ์ domain์ ํ์ฉํ์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ์์ฑ
package hello.hellospring.service;
import hello.hellospring.domain.Member;
import hello.hellospring.repository.MemberRepository;
import hello.hellospring.repository.MemoryMemberRepository;
import java.util.Optional;
public class MemberService {
private final MemberRepository memberRepository = new MemoryMemberRepository();
/**
* ํ์ ๊ฐ์
*/
public long join(Member member) {
// ๊ฐ์ ์ด๋ฆ์ด ์๋ ์ค๋ณต ํ์X
Optional<Member> result = memberRepository.findByName(member.getName());
result.ifPresent(m -> {
throw new IllegalStateException("์ด๋ฏธ ์กด์ฌํ๋ ํ์์
๋๋ค.");
});
memberRepository.save(member);
return member.getId();
}
}
- Command + Option(alt) + V : ๋ณ์ ์ถ์ถ
- Command + Option(alt) + M : ๋ฉ์๋ ์ถ์ถ
private void validateDuplicateMember(Member member) {
memberRepository.findByName(member.getName())
.ifPresent(m -> {
throw new IllegalStateException("์ด๋ฏธ ์กด์ฌํ๋ ํ์์
๋๋ค.");
});
}
ifPresent() ๋ฉ์๋
- Void ํ์
- ifPresent()๋ Optional ๊ฐ์ฒด๊ฐ ๊ฐ์ ๊ฐ์ง๊ณ ์์ผ๋ฉด ์คํ , ๊ฐ์ด ์์ผ๋ฉด ๋์ด๊ฐ
IllegalStateException | ๋ฉ์๋๋ฅผ ํธ์ถํ๊ธฐ ์ํ ์ํ๊ฐ ์๋ ๋ |
throw new IllegalStateException("์ด๋ฏธ ์กด์ฌํ๋ ํ์์
๋๋ค.");
๊ฐ์ ๋ก ์์ธ ์ฒ๋ฆฌ๋ฅผ ๋ฐ์
/**
* ์ ์ฒด ํ์ ์กฐํ
*/
public List<Member> findMember() {
return memberRepository.findAll();
}
public Optional<Member> findOne(Long memberId) {
return memberRepository.findById(memberId);
}
}
'Spring > Spring ์ ๋ฌธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์คํ๋ง ์ ๋ฌธ - (12) ์ปดํฌ๋ํธ ์ค์บ๊ณผ ์๋ ์์กด๊ด๊ณ ์ค์ (0) | 2023.01.21 |
---|---|
์คํ๋ง ์ ๋ฌธ - (11) ํ์ ์๋น์ค ํ ์คํธ (0) | 2023.01.20 |
์คํ๋ง ์ ๋ฌธ - (9) ํ์ ๋ฆฌํฌ์งํ ๋ฆฌ ํ ์คํธ ์ผ์ด์ค ์์ฑ (1) | 2023.01.20 |
์คํ๋ง ์ ๋ฌธ - (8) ํ์ ๊ด๋ฆฌ ์์ (0) | 2023.01.15 |
์คํ๋ง ์ ๋ฌธ - (7) API (0) | 2023.01.12 |