zoukankan      html  css  js  c++  java
  • Spring Aop Annotation

    实体:

     1 package com.bxw.aop.vo;
     2 
     3 public class User {
     4     private String loginId;
     5     
     6     public User() {
     7     }
     8     
     9     public String getLoginId() {
    10         return loginId;
    11     }
    12 
    13     public void setLoginId(String loginId) {
    14         this.loginId = loginId;
    15     }
    16     
    17 }
    User.java

    dao:

    1 package com.bxw.aop.dao;
    2 
    3 public interface UserDao {
    4     public void login(String id);
    5 }
    UserDao.java
     1 package com.bxw.aop.daoimpl;
     2 
     3 import org.springframework.stereotype.Repository;
     4 
     5 import com.bxw.aop.dao.UserDao;
     6 @Repository("userDao")
     7 public class UserDaoImpl implements UserDao{
     8 
     9     public void login(String id) {
    10         System.out.println("-----logining------"+id);
    11     }
    12 }
    UserDaoImpl

    service:

    1 package com.bxw.aop.service;
    2 
    3 public interface UserService {
    4     public void login(String id);
    5 }
    UserService.java
     1 package com.bxw.aop.serviceimpl;
     2 
     3 import org.springframework.beans.factory.annotation.Autowired;
     4 import org.springframework.beans.factory.annotation.Qualifier;
     5 import org.springframework.stereotype.Service;
     6 
     7 import com.bxw.aop.dao.UserDao;
     8 import com.bxw.aop.service.UserService;
     9 @Service("userService")
    10 public class UserServiceImpl implements UserService{
    11     private UserDao userdao;
    12     
    13     public UserDao getUserdao() {
    14         return userdao;
    15     }
    16     @Autowired
    17     public void setUserdao(@Qualifier(value="userDao") UserDao userdao) {
    18         this.userdao = userdao;
    19     }
    20 
    21     public void login(String id) {
    22         userdao.login(id);
    23     }
    24 
    25 }
    UserServiceImpl.java

     1 package com.bxw.aop.serviceimpl;
     2 
     3 import javax.annotation.Resource;
     4 
     5 import org.springframework.beans.factory.annotation.Autowired;
     6 import org.springframework.beans.factory.annotation.Qualifier;
     7 import org.springframework.stereotype.Service;
     8 
     9 import com.bxw.aop.dao.UserDao;
    10 import com.bxw.aop.service.UserService;
    11 @Service("userService")
    12 public class UserServiceImpl implements UserService{
    13     private UserDao userdao;
    14     
    15     public UserDao getUserdao() {
    16         return userdao;
    17     }
    18     @Resource(name="userDao")
    19     public void setUserdao(UserDao userdao) {
    20         this.userdao = userdao;
    21     }
    22 
    23     public void login(String id) {
    24         userdao.login(id);
    25     }
    26 
    27 }
    UserServiceImpl.java

    两份代码只是UserDao注入时,注解不同

    interceptor:

     1 package com.bxw.aop.interceptor;
     2 
     3 import org.aspectj.lang.annotation.After;
     4 import org.aspectj.lang.annotation.Aspect;
     5 import org.aspectj.lang.annotation.Before;
     6 import org.springframework.stereotype.Component;
     7 
     8 @Aspect
     9 @Component
    10 public class UserInterceptor {
    11     @Before("execution(public void com.bxw.aop.dao.UserDao.login(String))")
    12     public void loginBefore(){
    13         System.out.println("loginStart");
    14     }
    15     @After("execution(public void com.bxw.aop.dao.UserDao.login(String))")
    16     public void loginAfter(){
    17         System.out.println("loginOver");
    18     }
    19 }
    UserInterceptor.java

    织入点语法:

    @Before("execution(public void com.bxw.aop.dao.UserDao.login(String))")

    Test:

     1 package com.bxw.aop.Test;
     2 
     3 import org.springframework.context.ApplicationContext;
     4 import org.springframework.context.support.ClassPathXmlApplicationContext;
     5 
     6 import com.bxw.aop.service.UserService;
     7 import com.bxw.aop.vo.User;
     8 
     9 public class Test {
    10     public static void main(String[] args) {
    11         User user = new User();
    12         user.setLoginId("Bao");
    13         
    14         ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    15         UserService userService = (UserService) ac.getBean("userService");
    16         userService.login(user.getLoginId());
    17     }
    18 }
    View Code
  • 相关阅读:
    js 实现树效果
    (转)JavaScript 冒泡实例与阻止冒泡方法
    (转)js全页面刷新方法
    js 右键菜单
    (转)js,jQuery屏蔽鼠标右与jquery 鼠标右键事件、左键单击事件判定
    Flex取xml文件中的值
    oracle相关时间计算,得到季度第一天、最后一天
    (转)ASP.NET MVC VS2010中更改默认调试浏览器
    JS 与 后台如何获取 Cookies
    js 弹出新页面
  • 原文地址:https://www.cnblogs.com/popcornya/p/6918635.html
Copyright © 2011-2022 走看看