注解是 JDK 1.5 引入的功能黔姜,相信不少開發(fā)者都使用過這個功能拢切,但關(guān)于為什么要使用注解,你了解過多少呢秆吵?
在 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配置文件腋粥,減少了開發(fā)代碼量晦雨。但這真的是我們用注解而不用 XML 配置文件的原因嗎?
在回答這個問題之前隘冲,我們再來回顧一下上面兩種配置方式的特點:
- 對于注解的方式:我們會發(fā)現(xiàn)它和代碼結(jié)合得很緊密闹瞧,所以注解比較適合做一些與代碼相關(guān)度高的操作,例如將Bean對應的服務暴露出去展辞。
- 對于XML配置方式:我們會發(fā)現(xiàn)它將配置和代碼隔離開來了奥邮,所以XML配置更適合做一些全局的、與具體代碼無關(guān)的操作罗珍,例如全局的配置等洽腺。
我相信很多人此前對于注解的認識就是方便開發(fā)。但事實上使用注解還是XML的判斷標準應該是:該配置與代碼的相關(guān)度靡砌。
如果代碼與配置相關(guān)度高已脓,那么使用注解配置珊楼,否則使用XML配置通殃。