错误提示:

解决方法:指定execution

在执行目标方法之前指定execution

例如:

import org.aspectj.lang.annotation.Aspect;

import org.aspectj.lang.annotation.Before;

import org.springframework.stereotype.Component;

//把这个类声明为一个切面,需要把该类放入到IOC容器中

@Aspect

@Component

public class LoggingAspect {

//声明该方法是一个前置通知:在目标方法之前执行

@Before("execution(public int lixiuming.spring.aop.impl.ArithmeticCaculator.add(int, int) )")

public void beforeMethod(){

System.out.println("the method begins with");

}

}

接口:

import org.springframework.stereotype.Service;

@Service

public interface ArithmeticCaculator {

int add(int i,int j);

int sub(int i,int j);

int mul(int i,int j);

int div(int i,int j);

}

测试方法:

public class Main {

public static void main(String[] args) {

ApplicationContext cxt = new ClassPathXmlApplicationContext("ApplicationContext.xml");

ArithmeticCaculator arithmeticCaculator =  cxt.getBean(ArithmeticCaculator.class);

int result = arithmeticCaculator.add(3, 6);

System.out.println("result:"+result);

}

}

实现方法:

import org.springframework.stereotype.Component;

@Component

public class ArithmeticCaculatorImpl2 implements ArithmeticCaculator {

@Override

public int add(int i, int j) {

int result = i+j;

return result;

}

@Override

public int sub(int i, int j) {

int result = i-j;

return result;

}

@Override

public int mul(int i, int j) {

int result = i*j;

return result;

}

@Override

public int div(int i, int j) {

int result = i/j;

return result;

}

}

随机推荐

  1. [工作中的设计模式]解释器模式模式Interpreter

    一.模式解析 解释器模式是类的行为模式.给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器.客户端可以使用这个解释器来解释这个语言中的句子. 以上是解释器模式的类图,事实上我 ...

  2. 葱类 Allium

    韭菜  Allium tuberosum (Chinese chives) 韭黄(韭芽):不见光的特殊培养的软化韭菜品种 藠头(薤) Allium chinense (Chinese onion) 蒜 ...

  3. Discuz!用户注册,登陆,生成帖子功能实现

    <?php /* * Disucz!部分功能使用说明: */ /***************************************************************** ...

  4. 提高C#代码质量-规范

    [规范习惯]命名规范1-命名空间 使用<Company>.<Component>2-程序集不必与命名空间同名3-命名空间使用附复数4-避免与FCL的类型重名5-类型名称用名词6 ...

  5. 用Struts2拦截器实现文件下载前的验证

    思想:用户登录后,将登录信息存储在session中,每次需要验证时,取出来验证 缺陷:没有实现多用户登录时的情况 实行步骤: 登录信息的存储: ActionContext actionContext ...

  6. Java实现验证码制作之一Kaptcha验证码

    Kaptcha验证码 是google提供的验证码插件,使用起来相对简单,设置的干扰线以及字体扭曲不易让其他人读取破解. 这里我们需要 导入一个 kaptcha-2.3.jar  下载地址:http:/ ...

  7. Django 基本命令

    1. 新建一个 django project django-admin.py startproject project-name 一个 project 为一个项目,project-name 项目名称, ...

  8. Tomcat服务器中配置多个域名,访问不同的web项目

    先说一下在本地电脑怎么实现: 想要在一个tomcat下访问两个web项目时,可以通过添加虚拟host的方式来解决. 详细步骤如下: 1.将两个项目打包放入tomcat的webapps目录下: 2.修改 ...

  9. dblink嵌套场景下 查询出现:ORACLE ORA-00600错误的解决

    前段时间在做oracle查询的时候遇到了一个非常奇怪的现象,现将现象和解决过程记录下来,以备查看: 环境描述:A数据库通过dblink访问B数据库的视图,B数据库的视图的数据是通过B的dblink连接 ...

  10. static{ }语句块详解

    static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法.举ge例子: public class Test { public static i ...