KKB:註解實現IOC
阿新 • • 發佈:2021-01-19
註解實現IOC : 包括物件的容器化管理 以及 物件的注入
1、配置檔案中增加context標籤等
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
2、配置註解掃描:指定掃描包下所有類中的註解,掃描包時,會掃描所有的子孫包
3、註解新增在類名上
- @Component("物件名")
- @Service("person")
- @Controller("person")
- @Repository("person")
- @Scope(scopeName="singleton")
- @Scope(scopeName="prototype")
4、註解在屬性上
- @value("屬性值")
- @Autowired
特別說明,使用@Autowired註解在屬性上,預設使用的是根據型別匹配。所以說這裡可能就會出現之前提到的多個型別的錯誤。比如說,我們使用介面UserDao建立了物件,該介面的實現類有兩個,那麼此時的springDI,依賴注入不知道該使用哪一個實現類,就會報錯,我們可以通過指定@Qualifier("bean name")來指定確定的實現類
- @Qualifier("bean name")
- @Resource(name="物件名")
這裡的@Resource(name="物件名")相當於@Autowired +@Qualifier("bean name")
值得說明的是:使用註解的方式進行依賴注入,不會硬性要求具有屬性的構造方法和Set方法的,即是你沒有寫構造方法和set方法也是可以正常執行的,而之前使用的配置檔案方法是需要具有set方法和無參構造
5、註解還可以新增在方法上(用得少)