HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
🔖
강력3팀 : 링북(LinkBook)
/
⚙️
백엔드 개발 기록
/
🔒
Security 협업
/
/user/service/UserService.java

/user/service/UserService.java

package com.prgrms.team03linkbookbe.user.service; import com.prgrms.team03linkbookbe.user.dto.UserCreateRequestDto; import com.prgrms.team03linkbookbe.user.exception.DuplicatedEmailException; import com.prgrms.team03linkbookbe.user.repository.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service @Transactional(readOnly = true) @RequiredArgsConstructor public class UserService implements UserDetailsService { private final UserRepository userRepository; @Transactional public void register(UserCreateRequestDto requestDto) { // 랜덤 닉네임 생성 if(userRepository.existsByEmail(requestDto.getEmail())) { throw new DuplicatedEmailException("이미 가입된 이메일입니다."); } userRepository.save(requestDto.toEntity()); } @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { return null; } }