java自定義注解
問題描述
比如springmvc的requestmapping
//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//
package org.springframework.web.bind.annotation;
import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import org.springframework.core.annotation.AliasFor;
@Target({ElementType.METHOD, ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Mappingpublic @interface RequestMapping {
String name() default '';@AliasFor('path')String[] value() default {};@AliasFor('value')String[] path() default {};RequestMethod[] method() default {};String[] params() default {};String[] headers() default {};String[] consumes() default {};String[] produces() default {};
}
為什么就可以將請求 路由進來啊 實現代碼在哪兒呢 什么原理啊???
問題解答
回答1:如果不了解注解相關的知識,可以了解一下注解知識 1、文章1,2、文章2,這兩篇講解的還不錯。之后可以百度一下spring mvc requestmapping 源碼解讀,網上的文章還是蠻多的。源碼目前還沒有讀過,不過基本的原理應該也是通過反射獲取到相應的配置,再根據配置進行請求路由。具體的是怎么根據反射獲取相應配置的還是要去讀一下源碼。
回答2:/a/11...
相關文章:
1. 在應用配置文件 app.php 中找不到’route_check_cache’配置項2. html按鍵開關如何提交我想需要的值到數據庫3. mysql取模分表與分表4. HTML 5輸入框只能輸入漢字、字母、數字、標點符號?正則如何寫?5. gvim - 誰有vim里CSS的Indent文件, 能縮進@media里面的6. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下7. 跟著課件一模一樣的操作使用tp6,出現了錯誤8. PHP類屬性聲明?9. objective-c - ios 怎么實現微信聯系列表 最好是swift10. javascript - 請教如何獲取百度貼吧新增的兩個加密參數
