context:component-scan和context:annotation-config
阿新 • • 發佈:2022-03-28
相同點:
這倆標籤都是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標籤註冊啊