728x90
반응형
# service를 impl로 나누어서 사용해야 하는이유?
결국에는 어떤 컨트롤러가 호출을 하던 독립적인 작업이 수행되도록 하기 위해서이다.
예를들면 service라는 패키지안에 UserService와 UserServiceImpl이라는 인터페이스와 클래스를 만든다.
- UserService
public interface UserService {
UserDto createUser(UserDto userDto);
}
- UserServiceImpl
@Service
public class UserServiceImpl implements UserService {
UserRepository userRepository;
BCryptPasswordEncoder passwordEncoder;
@Autowired UserServiceImpl(UserRepository userRepository,
BCryptPasswordEncoder passwordEncoder) {
this.userRepository = userRepository;
this.passwordEncoder = passwordEncoder;
}
@Override
public UserDto createUser(UserDto userDto) {
userDto.setUserId(UUID.randomUUID().toString());
ModelMapper mapper = new ModelMapper();
mapper.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT);
UserEntity userEntity = mapper.map(userDto, UserEntity.class);
userEntity.setEncryptedPwd(passwordEncoder.encode(userDto.getPwd()));
userRepository.save(userEntity);
UserDto returnUserDto = mapper.map(userEntity, UserDto.class);
return returnUserDto;
}
}
728x90
반응형
'🌱JAVA > 🌻Service' 카테고리의 다른 글
Service에서 쿼리 결과를 파라미터로 받기 (0) | 2022.09.02 |
---|