AOP-Exercise

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

\--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,从配置文件中读取前置方法和后置方法。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇