1. 程式人生 > 其它 >context:component-scan和context:annotation-config

context:component-scan和context:annotation-config

相同點:

這倆標籤都是context名稱空間下的,都是為了實現基於註解的IOC

不同點:

首先明確註解有哪些:

用於建立物件的註解有四個,@Component,@Service,@Controller,@Repository 
(這四個就是約定大於配置的四個註解而已,功能上沒有區別,人為規定@Service用於業務層,Controller用於web層....)
用於給屬性注入值得註解有四個,常用的就是@Autowired

註解和<context>的關係

這些註解負責建立類物件,但是,註解本身是啥也幹不了的,不是說碰見了他們就把物件創建出來了
需要一個東西來處理這些註解,這個東西就是context名稱空間(也可以叫約束),支援註解操作

context:component-scan

一鍵式操作,註冊+啟用
<context:component-scan base-package="com.zhang.package"></context:component-scan>
啥是scan啊,就是掃描啊,他會掃描標籤指定的包下面的所有類,如果這個類有這幾個註解,那麼就註冊

context:annotation-config

這個作用是啟用那些已經在spring容器裡註冊過的bean】
換句話說,使用他的前提是類已經註冊過了,咋註冊,bean標籤註冊啊