From f335896f4fd908f2d09aea972b9135c7f1abecc9 Mon Sep 17 00:00:00 2001 From: admin Date: Fri, 9 May 2025 15:35:13 +0900 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4autowired?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/jp/app/config/security/SecurityConfig.java | 11 ++++++----- .../security/filter/JwtAuthenticationFilter.java | 11 ++++++----- .../java/co/jp/app/controller/UserController.java | 2 -- src/main/java/co/jp/app/service/UserService.java | 14 ++++---------- 4 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/main/java/co/jp/app/config/security/SecurityConfig.java b/src/main/java/co/jp/app/config/security/SecurityConfig.java index 745c17d..85642a6 100644 --- a/src/main/java/co/jp/app/config/security/SecurityConfig.java +++ b/src/main/java/co/jp/app/config/security/SecurityConfig.java @@ -2,7 +2,6 @@ package co.jp.app.config.security; import co.jp.app.config.security.filter.JwtAuthenticationFilter; import co.jp.app.service.UserService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.authentication.AuthenticationManager; @@ -20,11 +19,13 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic @Configuration public class SecurityConfig { - @Autowired - private JwtAuthenticationFilter jwtAuthenticationFilter; + private final JwtAuthenticationFilter jwtAuthenticationFilter; + private final UserService userService; - @Autowired - private UserService userService; + public SecurityConfig(JwtAuthenticationFilter jwtAuthenticationFilter, UserService userService) { + this.jwtAuthenticationFilter = jwtAuthenticationFilter; + this.userService = userService; + } @Bean public PasswordEncoder passwordEncoder() { diff --git a/src/main/java/co/jp/app/config/security/filter/JwtAuthenticationFilter.java b/src/main/java/co/jp/app/config/security/filter/JwtAuthenticationFilter.java index e512fc0..b2e857f 100644 --- a/src/main/java/co/jp/app/config/security/filter/JwtAuthenticationFilter.java +++ b/src/main/java/co/jp/app/config/security/filter/JwtAuthenticationFilter.java @@ -7,7 +7,6 @@ import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.lang.NonNull; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.context.SecurityContextHolder; @@ -20,11 +19,13 @@ import org.springframework.web.filter.OncePerRequestFilter; @Component public class JwtAuthenticationFilter extends OncePerRequestFilter { - @Autowired - private JwtService jwtService; + private final JwtService jwtService; + private final UserService userService; - @Autowired - private UserService userService; + public JwtAuthenticationFilter(JwtService jwtService, UserService userService) { + this.jwtService = jwtService; + this.userService = userService; + } @Override protected void doFilterInternal(@NonNull HttpServletRequest request, @NonNull HttpServletResponse response, @NonNull FilterChain filterChain) diff --git a/src/main/java/co/jp/app/controller/UserController.java b/src/main/java/co/jp/app/controller/UserController.java index 51aea05..803c305 100644 --- a/src/main/java/co/jp/app/controller/UserController.java +++ b/src/main/java/co/jp/app/controller/UserController.java @@ -5,7 +5,6 @@ import co.jp.app.dto.LoginDto; import co.jp.app.dto.RegistrationDto; import co.jp.app.service.JwtService; import jakarta.validation.Valid; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.authentication.AuthenticationManager; @@ -32,7 +31,6 @@ public class UserController { private final AuthenticationManager authenticationManager; private final JwtService jwtService; - @Autowired public UserController(UserService userService, AuthenticationManager authenticationManager, JwtService jwtService) { this.userService = userService; this.authenticationManager = authenticationManager; diff --git a/src/main/java/co/jp/app/service/UserService.java b/src/main/java/co/jp/app/service/UserService.java index c024fb9..21d2db1 100644 --- a/src/main/java/co/jp/app/service/UserService.java +++ b/src/main/java/co/jp/app/service/UserService.java @@ -7,7 +7,7 @@ import java.util.List; import co.jp.app.dto.RegistrationDto; import co.jp.app.entity.UserEntity; import co.jp.app.repository.UserRepository; -import org.springframework.beans.factory.annotation.Autowired; +import org.jetbrains.annotations.NotNull; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.User; @@ -27,17 +27,16 @@ public class UserService implements UserDetailsService { private final UserRepository userRepository; private final PasswordEncoder passwordEncoder; - @Autowired public UserService(UserRepository userRepository, PasswordEncoder passwordEncoder) { this.userRepository = userRepository; this.passwordEncoder = passwordEncoder; } @Transactional - public UserEntity registerNewUser(RegistrationDto registrationDto) throws Exception { + public UserEntity registerNewUser(@NotNull RegistrationDto registrationDto) throws Exception { if (userRepository.existsByEmail(registrationDto.getEmail())) { - throw new Exception("错误:邮箱 " + registrationDto.getEmail() + " 已被注册!"); + throw new Exception("エラー:メール:" + registrationDto.getEmail() + " はすでに登録されました。"); } UserEntity newUser = new UserEntity(); @@ -52,7 +51,7 @@ public class UserService implements UserDetailsService { @Transactional(readOnly = true) public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { UserEntity userEntity = userRepository.findByEmail(email) - .orElseThrow(() -> new UsernameNotFoundException("未找到邮箱为: " + email + " 的用户")); + .orElseThrow(() -> new UsernameNotFoundException(email + " not found")); Collection authorities = Collections.singletonList(new SimpleGrantedAuthority("ROLE_USER")); // 示例:给所有用户一个ROLE_USER权限 @@ -66,9 +65,4 @@ public class UserService implements UserDetailsService { authorities // 用户的权限集合 ); } - - public boolean checkPassword(UserEntity user, String rawPassword) { - return passwordEncoder.matches(rawPassword, user.getPassword()); - } - }