AOP-Exercise

阅读时长: 2 分钟 338 字

一个面向切面编程的练习程序。其中面向切面编程采用的是配置文件的做法,支持多个前置方法和后置方法,按照配置文件中的优先级区分执行顺序。食物类通过注解获取食物名称和价格。

\--aop
    │  FoodInfo.java
    │  Kitchen.java
    │  MyAspect.java
    │  Proxyhandler.java
    │  Restaurant.java
    │  RestaurantInterface.java
    │  TestRestaurant.java
    │
    └─foods
            Beef.java
            Broccoli.java
            Chicken.java
            Food.java
            Newfood.java

foods包下的类

食物类,其中食物名称和价格用注解标注。

FoodInfo.java

注解,食物名称和价格。

Kitchen.java

工厂类,主要负责根据名称创建食物实例、获取食物价格。

MyAspect.java

切面方法。

Proxyhandler.java

调用处理器类,在其中实现面向切面编程,在需要切入的方法前后分别按照优先级执行前置方法和后置方法。

Restaurant.java

RestaurantInterface的实现类,实现餐厅的方法。

RestaurantInterface.java

接口,定义餐厅的方法。

TestRestaurant.java

主类,完成点餐功能。在开始时读入并加载配置文件,创建动态代理对象,之后执行正常的点餐流程,当用户点餐时调用Kitchen创建食物类,下单并享用食物。

总结

这个程序主要使用动态代理实现了AOP,从配置文件中读取前置方法和后置方法。

本网站已运行: 计算中...
备案 赣公网安备36072502000191 | 赣ICP备2024040374号
使用 Hugo 构建 · 主题 Stack 由 Jimmy 设计