这两天在学习Spring相关的知识,经常会使用到注解。今天下午在写代码的过程中,我发现自己对于注解,就好像不认识了一样。
能想象吗,我是知道关于注解中的属性,如果没有赋值,在使用时是需要对其进行赋值的。但不知怎么了,就突然开始疑惑:为什么有些注解只用写个名字就可以了...(其实还是因为掌握的不够扎实)
于是,一整个下午我就被堵在了这里,很难受,晚上写 to do list,第一件事就是:复习学过的注解知识。
写这篇记录时,已经复习完了所有学过的注解知识,同时也知道了答案:如果只写注解名,相当于全部使用了属性的默认值。
-—— —— —— —— —— —— —— ——
另外,在复习的过程中,还有一个新的收获:理解了注解与反射之间的关系。
比如:如何让一个类中,只要类中的方法加了@Test,该方法就会被执行。实现大概是这样的:
「首先通过反射获取类的class对象,再通过class对象创建该类的对象;然后通过class对象获取该类中所有的方法对象,然后判断有哪些方法上存在@Test注解,如果有的话,就用方法对象调用invoke方法,同时传递该类的对象,来执行该方法...」
复习完这个反射过程,加上我最近在学框架,课程中经常会看到“简化开发”字样。有比较深刻的一个感受是:如果你感觉岁月静好,一定是有人在替你负重前行。
就像完成一件事情,也许需要打死不变的10步,如果你只走了3步,那7步并不是就没有了,而是另外一个人走了那7步,你是站在另外一个人肩上过去的。