日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Spring AOP 登錄日志

作者:秦JaccLink 更新時(shí)間: 2023-09-12 編程語(yǔ)言

使用Spring AOP做登錄日志切面(Login Log Aspect)

  1. 創(chuàng)建一個(gè)登錄日志切面(Login Log Aspect),包含以下內(nèi)容:

    @Aspect  
    @Component  
    public class LoginLogAspect {  
      
        @Before("execution(* com.example.demo.controller.UserController.login(..))")  
        public void beforeLogin(JoinPoint joinPoint) {  
            String userName = (String) joinPoint.getArgs()[0];  
            String password = (String) joinPoint.getArgs()[1];  
            System.out.println("用戶(hù)[" + userName + "]開(kāi)始登錄...");  
        }  
      
        @AfterReturning(pointcut = "execution(* com.example.demo.controller.UserController.login(..))", returning = "result")  
        public void afterLogin(Object result) {  
            System.out.println("用戶(hù)登錄成功!");  
        }  
      
        @AfterThrowing(pointcut = "execution(* com.example.demo.controller.UserController.login(..))", throwing = "ex")  
        public void afterLoginException(Exception ex) {  
            System.out.println("用戶(hù)登錄失敗:" + ex.getMessage());  
        }  
    }
  2. 在Spring的配置文件中啟用AOP自動(dòng)代理,配置如下:

    <aop:aspectj-autoproxy />
  3. 創(chuàng)建一個(gè)登錄控制器(LoginController),包含以下內(nèi)容:

    @RestController  
    @RequestMapping("/login")  
    public class UserController {  
      
        @Autowired  
        private UserService userService;  
      
        @PostMapping  
        public String login(@RequestParam String userName, @RequestParam String password) {  
            User user = userService.getUserByUserNameAndPassword(userName, password);  
            if (user != null) {  
                return "loginSuccess";  
            } else {  
                throw new RuntimeException("用戶(hù)名或密碼錯(cuò)誤!");  
            }  
        }  
    }
  4. 創(chuàng)建一個(gè)用戶(hù)服務(wù)類(lèi)(UserService),包含以下內(nèi)容:

    @Service  
    public class UserService {  
        // 省略其他方法,僅提供一個(gè)根據(jù)用戶(hù)名和密碼獲取用戶(hù)信息的方法。  
        public User getUserByUserNameAndPassword(String userName, String password) {  
            // 根據(jù)用戶(hù)名和密碼查詢(xún)用戶(hù)信息,此處僅作示例,實(shí)際情況下需要根據(jù)數(shù)據(jù)庫(kù)等存儲(chǔ)介質(zhì)查詢(xún)。  
            return null;  
        }  
    }

通過(guò)以上步驟,就可以實(shí)現(xiàn)使用Spring AOP編寫(xiě)登錄日志的功能。在用戶(hù)登錄時(shí),會(huì)自動(dòng)輸出登錄日志信息。

原文鏈接:https://blog.csdn.net/My_wife_QBL/article/details/132626215

  • 上一篇:沒(méi)有了
  • 下一篇:沒(méi)有了
欄目分類(lèi)
最近更新