java注解是如何起作用的,我看不见它的实现过程和源码呀?

今天,再重温框架的时候,突然脑子抽了一下,我突然想到,之前在学习框架中,总是说以注解的方式让配置简单化,然后我们直接加上了注解。**诶!!!**突然起作用了,我们之间向spring容器中加入bean,是通过配置文件注入的,加入注解后,突然变得好方便呀!
至此,我们只是找到了注解的作用就是实现某种功能。但是是如何实现这种功能的,我们又不知道。对此,大多数的人的了解就是反射得到代码上标注的注解,然后功能就实现了。
还是没弄懂!!!

为什么突然功能就实现了,最初的学习中,我以为是注解相当于一个类,里面有方法,反射得到代码上标注了该注解,就开始执行注解里面的方法。错了!!!
我们可以点进注解里面,发现什么都没有
在这里插入图片描述
你以为还在下一层,来,继续点进去!!!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到现在,上面标志的就是元注解了,别点了,啥都看不出来!!!
注解的定义只包含那么一点点代码。这是要理解的最重要的部分,注解不包含任何业务逻辑。
如果注释不包含逻辑,那么其他人必须做某事并且某人是此注解的使用者。注解仅提供有关定义它的属性(类/方法/包/字段)的信息。使用者是一段代码,它读取此信息然后执行必要的逻辑。

因此,注解功能实现的操作应该是:
比如某类上有@Autowired注解,java可以通过反射机制知道这个属性上有这个注解,然后根据这个注解,执行spring事先写好的让这个注解的起作用的代码,然后完成注入。
所以我们可以进而得出一个结论,那就是并不是@Autowried完成自动注入了。而是@Autowired标记在某个属性上,使得实现代码知道,哦,你这是个@Autowired, 那要执行的自动注入啦。其实我的理解是:spring设计了@Autowired和它起作用的代码。然后人家告诉我们,你们要用@Autowried哦,用它可以实现自动注入哦。

更详细的解释,挂上链接:
https://blog.csdn.net/u012934325/article/details/100877044

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值