[Java] 纯文本查看 复制代码
package cn.itcast;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
4. 编写一个controller,准备加入aop
[Java] 纯文本查看 复制代码
package cn.itcast.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public void hello(){
System.out.printf("正常执行controller");
}
}
5.编写切面类
[Java] 纯文本查看 复制代码
package cn.itcast.aop;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
/**
* 切面类,
* Component 是把当前类交由spring管理
* Aspect 声明切面类 (包含 切点和通知)
*/
@Component
@Aspect
public class Aspect1 {
/**
* Before这是声明 前置通知
* 括号内的是切点表达式: 意思是cn.itcast.controller包下所有类所有方法
*/
@Before("execution(public * cn.itcast.controller..*(..)))")
public void beforeFunc() {
System.out.println("前置通知执行了!");
}
}
6. 运行项目
7. 打开浏览器 访问: http://localhost:8080/hello