关于注解的一些看法

    对于一个软件,无论什么时候,都是一个场景,做软件,不能脱离于实际,软件的框架架个就是一个工厂,注解就属于其中的一个车间,里面有装配工,有车间小组,职责不同,管理的范围就不同,有些是给产品做前加工,有些给产品做后续的打磨,还有些事筛选问题产品,加工品自己啥也不会,只能靠外力,社会的部门亦是如此,上门服务(即直接注入对象,这里是客户)职能范围(注解功能类要管职责,其实就是单位或公司内部,给你挂不同的部门编号你就有不一样的职责),这就是注解的核心所在 更加核心的地方其实还是懒,想客户之懒,就是创新,大一点就是为人民服务
所以很多人看到注解的时候往往会有一种怕的感觉,感觉很陌生,很难理解,其实注解很好的解释了控制反转这个概念,不就是在某些环境的控制下,你求人办事变成了你办事需要谁的时候不需要你提醒人家直接主动送上门来,这里的环境假如有启动Spring容器,那就是这个容器,把这个理解好了其实注解里有许多可以值得学习的地方,和xml配置配合起来,能够极大的降低自己软件的晕人程度


做一个承上启下的东西吧,因为联想到了,顺带牵出下一篇想说的东西,平常我们看到的xml配置里的大多都是运行期通过jdk或者cglib代理实现,不过更多人不明白的地方,比如Spring有时的源码让人摸不到头脑,为什么这么来等等一些问题,其中有一个就是通过在类加载期编辑字节码的技术,将切面织入到目标类中,也就是LTW,其实这东西有好多博客都有讲,阿里的一些大牛出的书中也有讲到,但都太过于抽象,回头把这个融入到Spring的源码流程中去说说自己的理解的

   这是之前看的一本书顺带截的图,这里拿出来,可以很好的看到在类的加载期,通过注册的ClassFileTransformer读取AspectJ的配置文件,也就是aop.xml文件对加载到VM中的bean进行字节码的转换,然后织入切面,也就是在Spring容器初始化Bean实例的时候,采用的bean类就是已经被植入切面的类

这里就出个头,回头再整理,感觉好多,得一点点来
原文地址:https://www.cnblogs.com/yinchen/p/5338224.html