今天刚发现了一个问题,我当时都懵了,后来慢慢的捋顺了一点。是这样的:

我发现,Spring在用set方法注入时,只要求类中有set方法,而可以没有对应的属性,我当时人都傻了。

如果这个类是继承了父类属性的set方法,而它自己并没有这个属性呢?此种情况下是可以成功注入的。

啥?我给注入了,但是呢?他没有对应的属性,那我注入的内容去哪儿了呢?我要想用我注入的内容咋办呢?

相当于,我给你一个东西,但是你没有用一个容器来把这个东西接住,在你这儿找不到这个东西,但东西又确确实实给在你这儿?

那我注入的内容,不是凭空消失了吗?

 

后来我想通了一点,既然这个类是继承了父类属性的set方法,那么一定也继承了父类这个属性的get方法(如果父类有,并且可以被继承)

那么,就可以通过父类的get方法,来获取注入的内容,并且正常使用。

 

但是,还有一点困惑的是:那如果父类没有这个属性的get方法或者这个get方法不能被继承呢?

那岂不是我注入的内容,凭空消失了,或者说,是存在这个类中的,但是我看不到、摸不着,并且无法使用??

那这种注入有什么意义呢?Spring它不应该阻止这种注入吗?

 

(菜鸟一枚,刚接触框架,学java也没多久。若有问题,请大佬指正。

另外,代码和截图太麻烦了,不想搞,能懂我描述的意思就行)

 

版权声明:本文为ql-wind原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ql-wind/p/12813068.html