Skip to content

Commit ccde2f0

Browse files
Cache UserService getUserByUsername
1 parent e2108e6 commit ccde2f0

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/main/java/com/dev/springdemo/auth/user/UserService.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.dev.springdemo.auth.user;
22

3+
import lombok.extern.log4j.Log4j2;
34
import org.springframework.beans.factory.annotation.Autowired;
5+
import org.springframework.cache.annotation.CacheConfig;
6+
import org.springframework.cache.annotation.Cacheable;
47
import org.springframework.security.core.userdetails.UserDetails;
58
import org.springframework.security.core.userdetails.UserDetailsService;
69
import org.springframework.security.core.userdetails.UsernameNotFoundException;
@@ -9,14 +12,18 @@
912
import java.util.Optional;
1013

1114
@Service
15+
@CacheConfig(cacheNames = "users")
16+
@Log4j2
1217
public class UserService implements UserDetailsService {
1318

1419
@Autowired
1520
private UserRepository userRepository;
1621

1722

1823
@Override
24+
@Cacheable(condition = "#result?.id")
1925
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
26+
log.info("Fetching user details for {}", username);
2027
Optional<User> userByEmail = userRepository.findUserByEmail(username);
2128
return userByEmail.orElseThrow(() -> new UsernameNotFoundException("User not found."));
2229
}

0 commit comments

Comments
 (0)