关于反射、注解、依赖注入、控制反转的一些总结。

1 无论是android的Butterknife、retrofit还是javaweb的spring框架,AOP(面向切面编程)。

这些优秀的框架,大多是用了注解、动态代理来实现。(ButterKnife没有用到反射。)

那么先说注解,说到注解要先说反射。

反射的原理如图



反射也就是通过Class.fromName(类全名)拿到类的class对象,有了这个对象就可以拿到类的所有信息了。

比如成员,构造方法,方法。。这些。

那么注解呢。

注解可以理解为标签,它和class以及interface一样,属于一种类型。

是java1.5后引入的。

而注解需要正常工作,则需要引入元注解。

元注解可以理解为注解到注解上的注解。或是一种特殊的标签。


常用的有retention和target



注解是只有属性,没有方法的。

而属性的表达方式又是无参数的方法。



有属性,就一定要给他赋值,有默认值就不用赋。

也可以用value=xx的方法来赋值。

如果没有属性,那么注解的括号要去掉。


其实java本身提供了几个现成的注解。



那么它的保留期应该是RetenPolicy.Class保留到编译进行时。

那么注解的使用,比如Butterknife。

就是把这个标签贴到类的成员view上面,然后写上注解的值是view的id。

那么怎么把这个id拿出来呢。

靠的就是反射了。




那么控制反转和依赖注入的关系是什么呢。

我的理解是依赖注入就是对象自动生成bean,不用自己new了。

而控制反转就是把自己new对象的方式交给第三方,比如spring容器。

那么控制就反转了。

那么控制反转的好处是什么呢。

对spring来说。

如果不用控制反转,那么所有的类相互依赖使用,是耦合在一起的。

类的创建和销毁,又是非常消耗资源的。

那么如果把所有要创建对象的类在spring中登记。

由spring来统一管理,控制对象的生命周期。这样耦合性就非常低并且便于管理了。

比如spring默认的注入方式是单例的。

这样类的相互使用,就不用多次创建对象消耗对象,或者每个类都写个单例麻烦。

根本目的是解耦,提高项目的可维护性。


以上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容