专栏首页陈树义注解的那些事儿(一)| 为什么要使用注解?

注解的那些事儿(一)| 为什么要使用注解?

注解是 JDK 1.5 引入的功能,相信不少开发者都使用过这个功能,但关于为什么要使用注解,你了解过多少呢?

在 JDK 1.5 之前,Java 还没引入注解,这个时候如果我们要在 Spring 中声明一个 Bean,我们只能通过 XML 配置的方式。

public class DemoService{
}
<bean id="demoService" class="com.chenshuyi.DemoService"/>

但当有了注解,我们就可以不必写一个 XML 配置文件,可以直接在 DemoService 类上完成 Bean 的声明工作。

@Service
public class DemoService{
}

在表面上看来,我们通过注解的方式减少了一个XML配置文件,减少了开发代码量。但这真的是我们用注解而不用 XML 配置文件的原因吗?

在回答这个问题之前,我们再来回顾一下上面两种配置方式的特点:

  • 对于注解的方式。我们会发现它和代码结合得很紧密,所以注解比较适合做一些与代码相关度高的操作,例如将Bean对应的服务暴露出去。
  • 对于XML配置方式。我们会发现它将配置和代码隔离开来了所以XML配置更适合做一些全局的、与具体代码无关的操作,例如全局的配置等。

我相信很多人此前对于注解的认识就是方便开发。但事实上使用注解还是XML的判断标准应该是:该配置与代码的相关度。如果代码与配置相关度高,那么使用注解配置,否则使用XML配置。

这篇文章比较简单,只是简单比较了 XML 配置和注解配置之间的区别,从而引出它们各自的使用场景。下篇文章我将带大家入门自定义注解,敬请关注。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 注解的那些事儿(二)| 如何自定义注解

    自定义注解是自己写框架的必备技能,使用注解能极大地提升开发效率,因此自定义注解是一个高级开发者必备的技能。

    陈树义
  • JVM系列第7讲:JVM 类加载机制

    当 Java 虚拟机将 Java 源码编译为字节码之后,虚拟机便可以将字节码读取进内存,从而进行解析、运行等整个过程,这个过程我们叫:Java 虚拟机的类加载机...

    陈树义
  • 注解的那些事儿(三)| 注解的使用

    在上面的 SweetDemo 中会发现我们在使用 @Sweet 注解的时候,手动给 sweetLevel 属性赋值。如果没有赋值,那么会报错。

    陈树义
  • Pearl筹集了1100万美元,旨在将人工智能应用于牙科

    Pearl是一家总部位于加利福尼亚州圣莫尼卡的公司,致力于将人工智能应用于牙科,今天宣布已经筹集了1100万美元的资金。

    AiTechYun
  • 手把手教你 3 分钟搞定 SpringBoot 整合 Swagger2

    Swagger 又称丝袜哥,号称可以让程序员边写代码边生产接口文档。所以,深受光大程序员喜爱。目前使用的最多的当属 Swagger2 和 SpringBoot,...

    业余草
  • 【DB笔试面试667】在Oracle中,贵公司的数据库有多大?大一点的表有多大?有多少行?

    对于数据库的大小,需要注意的问题是数据库的大小不能以表空间的分配大小而论,而应该以表空间的占用空间大小而论,并且需要减掉SYSTEM、SYSAUX、TEMP和U...

    小麦苗DBA宝典
  • ASP.NET Core的身份认证框架IdentityServer4(9)-使用OpenID Connect添加用户认证

    晓晨
  • golang-101-hacks(26)——io.Writer interface

    Compared to io.Reader, since you no need to consider io.EOF error, the process o...

    羊羽shine
  • Android Apt之Activity Route的示例

    APT从原理上讲是一个编译期的注解处理工具(Annotation Processing Tool)。一些主流的三方库(ButterKnife,Glide)都用到...

    砸漏
  • DPM目标检测算法

    DPM算法由Felzenszwalb于2008年提出,是一种基于部件的检测方法,对目标的形变具有很强的鲁棒性。目前DPM已成为众多分类、分割、姿态估计等算法的核...

    于小勇

扫码关注云+社区

领取腾讯云代金券