IntelliJ 단축키
soutv : value를 바로 sysout 하는 기능
실행취소 (redo) : Ctrl + Shift + z
Rename : Shift + F6
변수추출 : Ctrl + Shft + v
회원 서비스 작성
package hello.hellospring.service;
import hello.hellospring.domain.Member;
import hello.hellospring.repository.MemberRepository;
import hello.hellospring.repository.MemoryMemberRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Optional;
@Transactional
public class MemberService {
private final MemberRepository memberRepository;
public MemberService(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
//회원가입
public Long join(Member member) {
//같은 이름이 있는 중복 회원 X
validateDuplicateMember(member); //중복 회원 검증
memberRepository.save(member);
return member.getId();
}
private void validateDuplicateMember(Member member) {
memberRepository.findByName(member.getName())
.ifPresent(m -> {
throw new IllegalStateException("이미 존재하는 회원입니다.");
});
}
public List<Member> findMember(){
return memberRepository.findAll();
}
public Optional<Member> findOne(Long memberId){
return memberRepository.findById(memberId);
}
}
'스프링 > 스프링 입문 - 김영한' 카테고리의 다른 글
12. 컴포넌트 스캔과 자동 의존관계 설정 (0) | 2023.01.17 |
---|---|
11. 회원 서비스 테스트 (0) | 2023.01.10 |
9. 회원 리포지토리 테스트 케이스 작성 (0) | 2023.01.10 |
8. 회원 도메인과 리포지토리 만들기 (0) | 2023.01.05 |
자바 문법 정리 ( Map) (0) | 2023.01.05 |