国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 擴展 > MVC > 正文

寫簡單的mvc框架實例講解

2024-09-06 20:44:39
字體:
來源:轉載
供稿:網友

這一章先把支持注解的功能加上,這樣就不需要經常地修改配置文件了。

至于視圖處理的地方,就還是先用json吧,找時間再寫。

項目地址在:https://github.com/hjx601496320/aMvc 。

測試代碼在:https://github.com/hjx601496320/amvc-test 。

怎么寫呢?

因為在之前寫代碼的時候,我把每個類要做的事情分的比較清楚,所以在添加這個功能的時候寫起來還是比較簡單的,需要修改的地方也比較小。

這一章里我們需要干的事情有:

定義一個注解,標識某一個class中的被添加注解的方法是一個UrlMethodMapping。 修改配置文件,添加需要掃描的package。 寫一個方法,根據package中值找到其中所有的class。 在UrlMethodMapping的工廠類UrlMethodMappingFactory中新加一個根據注解創建UrlMethodMapping的方法。 在Application中的init()方法中,根據是否開啟注解支持,執行新的工廠類方法。 完了。

多么簡單呀~~~

現在開始寫

定義一個注解Request

關于怎樣自定義注這件事,大家可以上網搜一下,比較簡單。我這里只是簡單的說一下。我先把代碼貼出來:

import com.hebaibai.amvc.RequestType;import java.lang.annotation.*;/** * 表示這個類中的,添加了@Request注解的method被映射為一個http地址。 * * @author hjx */@Documented@Target({ElementType.METHOD, ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)public @interface Request {  /**   * 請求類型   * 支持GET,POST,DELETE,PUT   *   * @return   */  RequestType[] type() default {RequestType.GET, RequestType.POST, RequestType.DELETE, RequestType.PUT};  /**   * 請求地址   * 添加在class上時,會將value中的值添加在其他方法上的@Request.value()的值前,作為基礎地址。   *   * @return   */  String value() default "/";}

定義一個注解,需要用到一下幾個東西:

1:@interface:說明這個類是一個注解。

2:@Retention:注解的保留策略,有這么幾個取值范圍:

代碼 說明
@Retention(RetentionPolicy.SOURCE) 注解僅存在于源碼中
@Retention(RetentionPolicy.CLASS) 注解會在class字節碼文件中存在
@Retention(RetentionPolicy.RUNTIME) 注解會在class字節碼文件中存在,運行時可以通過反射獲取到

因為我們在程序中需要取到自定義的注解,所以使用:RetentionPolicy.RUNTIME。

3:@Target:作用目標,表示注解可以添加在什么地方,取值范圍有:

代碼 說明
@Target(ElementType.TYPE) 接口、類、枚舉、注解
@Target(ElementType.FIELD) 字段、枚舉的常量
@Target(ElementType.METHOD) 方法
@Target(ElementType.PARAMETER) 方法參數
@Target(ElementType.CONSTRUCTOR) 構造函數
@Target(ElementType.LOCAL_VARIABLE) 局部變量
@Target(ElementType.ANNOTATION_TYPE) 注解
@Target(ElementType.PACKAGE)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 益阳市| 鄂温| 通江县| 蒙自县| 垦利县| 长丰县| 友谊县| 朝阳市| 宣化县| 乌鲁木齐县| 吴桥县| 宜春市| 华容县| 舟曲县| 泰顺县| 方正县| 红桥区| 余姚市| 拜泉县| 昌吉市| 重庆市| 股票| 恭城| 东台市| 贞丰县| 莱西市| 湛江市| 荆州市| 油尖旺区| 乐清市| 闵行区| 巴东县| 吴堡县| 敦煌市| 鹿泉市| 大丰市| 江永县| 南华县| 天台县| 梅河口市| 米易县|