00:01
我们这儿呢,还有最后一个注解也说了吧,这个注解呢叫做resource,这个resource注解呢,它完成功能跟这个outwa呢是一样的。这个result注解呢,它是来自于我们JDK中的一个注解,是JDK的,它不是spring啊,不是spring是JDK中的一个注解。按照Java中的一些规范,Spring框架中它提供了对这个注解的功能支持,所以你可以在spring项目中用这个注解来完成引力的赋值。这是resource,那我们来看它怎么用。啊。我们再来一个package,应该是到零六了。好,我们把这个顾子丢的呢拷贝一份。在零六中我们打开代码。
01:00
这些呢,我们都给它删掉啊。当然,这些也都删掉好。那引用类型,我们现在用的一个注解叫resource,这个resource呢,它是来自JDK的,JDK中的这个注解,Spring框架呢,它提供了对这个对这个注解的功能支持,可以使用它。给引用类型赋值。他使用的。也是自动注入的原理,支持by name by type,默认by name怎么用,它的使用方式跟we那个差不多啊,它的使用位置呢,有两个,第一个在属性定义的上面,无需。
02:10
Set方法啊,推荐呢,怎么用推荐使用第二种方式呢,那就是在set方法的上面,那现在我们就在使用之上写这个总结,Resource。Result这就完了,那它的复制方式默认是by name,默认by by name好。你看这个注解啊,来自于哪个包呢?看上面的。你看这个包是不是来自于Java X的not呢?JDK中的啊。By name方式,那如果说by name的话,那是不是应该去找一个school这个名称的对象给他呀?
03:06
那我们看一下零六包中有没有库名称对象呢?他是叫卖。大学呢,我们换一个换一个航空。航天大学啊,这叫my school,你看啊,这个名叫my school啊。这块按照by name原则应该找的是它,那现在我们看一下我们程序中这个引用类型到底能不能付成功呢?零六。好,CTRLCCTRLV,然后零六打开零六。先把上面导入包得改一下啊,用代码复制过来得改一下。来,跑一个。
04:00
好,很奇怪吧,看这个有量型赋值,OK吧,成功了吧,F成功了,这好奇怪呀,它好像跟我们以前讲过的原则是有悖的。好像不多,是不是这样呢,解释。它是这样的啊,默认是by name,它的处理是这样,先使用by name by name自动注入,如果by name失败,复制失败,他在使用by type。这样的话就明白了吧,那按照by name的原则的话,找不到这个school,所以by name赋值是失败的,这时候它会采用by time。Byup,肯定没问题呀,因为你这是school,你的这个航空航天大学它也是school啊,所以就能复试成功是这么来的。
05:04
所以你不要以为这个代码有问题,不是,实际上原则是先用by name bynu不行,它改用by type,所以这个例子最终的完成赋值是。By type的方式啊。那这个result注解它能不能只用by name的方式,不一会儿用by name,一会儿用by time,能,那需要这么做。再来一个啊。再来一个package,应该零七了。把零六中这个拿过来拷贝到零七中。在零七中,我现在呢,我只想使用by name。那就说。指resource,指使用by name的方式,那么你需要增加增加一个属性,这个属性叫name。
06:05
啊,Name name的值是B的ID,也就是B的名称呗。名称,这么做就行了。那现在我们是说只使用by name的方式,只使用by name,那就这么做了。你需要指定它的一个name,等于这个名字,那我们项目中叫my school呗,挪过来拷贝到name里边,那此时你给它赋值。就用是这个my school就不用别人了,就只用这一个by name。好,这个代码呢,我们走一个测试一下就行了啊,是不是这么用的,再来一个。好零七打开零七,然后上面这块呢,先把你导入的这个八啊改一下零七,其他不用动指令代码应该复制成功。
07:15
好,这就复制成功了,没问题,这个by name就这么用了。好,这是我们在开发中呢,常用的一些方式,By name就这么用。那如果你要不写呢?Resource默认是。先是by name by的不行,再用by type的方式。到这儿注解呢,常用的给大家介绍完成了,当然spring框架中可并不只有这些注解啊,还有很多这些呢,是我们开发中常用的啊,常用的这些肯定是必会的啊,常用的就这么几个,一共就七个啊,就七个。
我来说两句