Sping的常用注解
注意:在Spring中使用注解,要在全局配置文件中告知Spring在創建容器時要掃描的包。配置所需要的標簽不在Bean中,而是在context的命名空間和約束中
然后利用<context:component-scan base-package=""/> Spring會自動掃描該包及其子包下的所有注解
用注解必須先開啟使用注解
(1)用于創建對象的
@Component(value="")
用于把當前類的對象注入到Spring中,寫在類上方即可,value用于指定Bean的id,當我們不寫時,默認是類名,并且第一個字母小寫
衍生出來的注解:
@Controller 表現層
@Service 業務層
@Repository 持久層
這三個注解作用是和@Component這個一模一樣的,不過這是Spring為我們提供明確的三層使用的注解,使我們的三層更加清晰
(2)用于注入數據的,
@Autowired
自動按照類型注入,只要容器中有唯一一個bean對象類型和和注入的變量類型匹配,就能注入成功
如果IOC中沒有任何要匹配的bean要和注入的類型變量匹配,就不能注入成功,
如果存在多個bean對象和他匹配的話,也不能注入成功
使用位置:
用在變量上,也可以用在方法上
@Autowired
private AccountDao accountdao;
@Qualifier(value="")
在按照類中注入的基礎上的再按照名稱注入,他在給類成員注入時,不能單獨使用只能和@Autowired一起使用
@Autowired
@Qualifier(value = “account1”)
private AccountDao accountdao;
@Resource
直接按照bean上的id注入,他可以單獨使用
@Resource(name=“account2”)
private AccountDao accountdao;
@Autowired和@Qualifier和@Resource以上三個注解只能注入其他bean類型的數據,不能注入基本類型或者是String類型,另外集合類型的只能通過xml實現
@Value(value="")
用于注入基本類型或者是String類型,它可以使用String中的el表達式即${表達式}
(3)用于改變作用范圍的
@Scope(value=""),常用取值, singleton(單例),prototype(多例)多例銷毀對象Spring是不負責的,只負責單例
(4)和聲明周期相關的(了解)
@PreDestory() 銷毀方法,用在destory()方法之上
@Postconstruct() 初始化方法, 用在init()方法之上
總結
以上是生活随笔為你收集整理的Sping的常用注解的全部內容,希望文章能夠幫你解決所遇到的問題。