首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

给我十分钟让你get Spring注解开发!

环境

在 Spring4 之后,要使用注解开发就必须依赖于 aop 的包。

使用注解需要导入 约束,增加注解支持。

POJO 类 User

@Component

@Component:组件,放在类上说明这个类被 Spring 所管理,即该类是一个 bean。

如果我们使用配置文件来配置 bean,则定义完 POJO 类后就要在配置文件中去配置 bean 并注入属性。而 注解便可以省去很多步骤,使该 bean 直接就能够被获取到。

但是正常情况下,我们都不会在定义的时候直接给出值,而是在后面的操作中注入。这时候就要用到@Value("xxx")

相比使用

,使用 @Value 还可以省略 setter,代码更加简洁。

@Value 也可以在 setter 上使用

而这一次获取到的 bean 结果便为:

虽然使用注解来注入值很简便,但是遇到了还是来处理属性的注入。一来更为方便快速,二来更为清晰。

衍生注解

由 @Component 衍生出来了三个注解,在 web 开发中, 我们会按照 mvc 三层架构来分层,而这三个注解便对应于这三个层。

@Repository,对应于Dao 层;

@Service,对应于Service 层;

@Controller,对应于Controller 层。

无论是 @Component 还是衍生的这三个注解,作用都是相同的,都是「代表将本类交由 Spring 托管,只是各层所使用的注解名字不同」

自动装配

@AutoWired:自动装配注解,类似于 byName 的装配方式。

@Qualifier:如果 AutoWired 不能唯一自动装配上属性,则需要通过 @Qualifier(value = "xxx")。

@Nullable:字段标记这个注解,说明这个字段可以为 null。

作用域

@Scope,控制 bean 的作用域。下面的 @Scope 注解的源码:

可以看到 @Scope 有一个参数,这个参数便是 bean 的作用域。

单例 -- singleton

原型 -- prototype

总结

XML 与 注解比较:

xml 更为万能,适用于任何的场景,维护相对较为方便

注解只能在自己的类中使用,维护相对较为复杂

XML 与 注解如何搭配?xml 用来管理 bean,注解只负责完成属性的注入

使用注解的时候一定要注意开启注解的支持。

-- END --

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210316A08XUJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券