品牌型号:联想ThinkPad X1
系统:Windows10家庭版
软件版本:Spring 5.3.7
只有弄明白Spring注解的本质和生效原理,才能开始做实际的开发工作。这时候很多新手就犯难了,Spring的注解那么多,哪些是日常用的最多的?分别都用在什么场景呢?光是记注解名就很头大了,更不要提怎么用注解给对象注入属性、赋值参数了。下面就给大家介绍Spring的注解有哪些注解,Spring注解注入属性的相关内容。
一、Spring的注解有哪些注解
Spring的注解虽然很多,但是不需要去死记硬背,可以结合我们之前XML配置开发的时候去记忆。我们之前是在XML中通过

如果我们这会希望这个Bean懒加载,我们可以顾名思义想到懒的英文“lazy",那么我们就可以在类名上加一个@Lazy注解并给这个注解配置一个属性值,例如false或者true。

我们还可以配置这个Bean的作用域是多例还是单例,作用域,我们想到的注解就是@Scope。

这些常规的了解差不多了,我们接下来就是涉及到注入问题,依赖注入的时候我们只需要记住三个,一个是@Autowired、跟@Autowired经常搭档的是@Qualifier,还有个与@Autowired功能容易混淆的就是@Resource,基本上常用的就是这些个了。

二、Spring注解注入属性
我们前面在介绍Spring中常用注解的时候,讲到了依赖注入的注解@Autowired、@Resource等,那么这些具体是怎么使用的呢?
我们回忆下之前XML配置开发的时候,需要在类的成员位置创建一个私有属性,并给这个私有属性创建一个setter方法,在XML配置中通过property标签注入依赖。

现在我们只需要在这个私有属性上、setter方法方法上添加一个@Autowired注解就可以了,这个注解会自动根据类型去匹配合适的Bean,如果同类型下有多个Bean,我们可以借助@Qualifier注解辅助根据name值去依赖注入。

到目前为止,我们一直说的是对象的依赖注入,如果这会要求只是给属性注入一个普通的值怎么办呢?这时候就要用到@Value注解了,例如这会在代码的成员位置有一个String类型的username属性,需要给这个属性注入一个值。我们只需要在这个属性上面添加一个@Value注解,然后给这个注解后面的括号中填写一个值就可以了。

但是如果这样写,这个代码就写死了,不够灵活,怎么办呢?我们可以考虑借助Spring的SPEL表达式获取配置文件的值,这样这个username的属性值就完全是在配置文件中修改了。

以上就是Spring的注解有哪些注解,Spring注解注入属性的全部内容了。Spring的注解有很多,但是几乎不需要去死记硬背,我们只需要记住每个注解使用的场景就可以了,例如创建bean的时候,可以使用@Component及其衍生出的三个语义化注解,在依赖注入的时候我们就想到@Autowired、@Resource注解,如果此时要给一个属性注入普通的值,我们可以使用@Value注解完成赋值,如果觉得这么写不够灵活,我们可以通过@Value+SPEL表达式的方式从配置文件中动态获取值。