• 业务中Spring使用


    不管是MVC框架还是DAO框架,在业务场景中能够通用的个人觉得AOP是一个重点,看是不是可以合理使用,其他的框架都是基础框架

    ==================================

    第一个AOP学习,对其类进行增强。


    import java.util.Map;

    import org.aspectj.lang.ProceedingJoinPoint;
    import org.aspectj.lang.annotation.After;
    import org.aspectj.lang.annotation.Around;
    import org.aspectj.lang.annotation.Aspect;
    import org.aspectj.lang.annotation.Before;
    import org.aspectj.lang.annotation.Pointcut;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Component;

    import com.yyb.service.IAuthService;
    import com.yyb.ws.SecurityMannager;

    @Component
    @Aspect
    public class AuthServiceImpl implements IAuthService {

    @Autowired
    private SecurityMannager securityMannager;


    //@After(value="pointRegister(map)",argNames="map")
    @After(value="execution(* com.yyb.service.impl.UserServiceImpl.register(..)) && args(map)",argNames="map")
    public void authOther(Map<String,String> map) {
    System.out.println("AuthServiceImpl.authOther(map=" + map + ") in authOther ");
    }


    @Pointcut(value="execution(* com.yyb.service.impl.UserServiceImpl.login(..)) && args(cfg,other)",argNames="cfg,other")
    public void pointAuth(String cfg,String other){}

    //@Before(value="pointAuth(cfg,other)",argNames="cfg,other")
    @Before(value="execution(* com.yyb.service.impl.UserServiceImpl.login(..)) && args(cfg,other)",argNames="cfg,other")
    @Override
    public void auth(String cfg,String other) {
    securityMannager.doCheck(cfg + "-" + other );
    System.out.println("AuthServiceImpl.auth(cfg=" + cfg + ",other=" + other + ") in auth ");
    }

    }


    import java.util.Map;

    import org.aspectj.lang.annotation.Aspect;
    import org.springframework.stereotype.Component;

    import com.yyb.service.IUserService;


    @Component
    public class UserServiceImpl implements IUserService {

    @Override
    public void login(String name,String pass) {
    System.out.println("UserServiceImpl.login() in login......");
    }

    @Override
    public void register(Map<String,String> map) {
    System.out.println("UserServiceImpl.register() in register......");
    }

    @Override
    public void findUserByParams(String params) {

    }

    }

  • 相关阅读:
    如何用css画一个文件上传图案?
    Vue.js命名风格指南
    JS的静态类型检测,有内味儿了
    每天认识几个HTTP 响应码
    剑指offer二叉树算法题JavaScript整理
    javascript
    JS数据结构与算法
    (转自MDN)CSS基础一定要看的包含块(containing block)
    简单记记display中inline、block、inline-block以及常见行内/块内元素
    从计算机操作系统中了解并发与并行、进程与线程
  • 原文地址:https://www.cnblogs.com/gstsyyb/p/3461885.html
Copyright © 2020-2023  润新知