注解是 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配置。