javascript
Spring的properties属性配置文件和Spring常用注解
Spring的properties屬性配置文件
問題:
在學習了Spring的知識后,需要被Spring管理的資源都是通過配置文件的形式來告訴Spring容器對象管理誰以及如何管理。但是隨著使用次數的增多,我們發現配置文件中配置的標簽越來越多,每次我們創建一個新的項目時,將配置好的配置文件在該項目中只需要修改一下數據庫連接參數即可正常使用,但是因為配置文件的內容越來越多,造成配置文件的閱讀性越來越差,數據庫連接參數的修改不太好找到,怎么辦?
解決:
將數據庫相關參數提取到一個新的文件中專門配置,然后在 applicationcontext.xml配置文件中獲取數據庫連接參數配置文件中的配置信息,說白了就是將數據庫連接參數和Spring的配置文件之間解耦
實現:
Spring的屬性配置文件配置數據庫連接參數
使用:
① 在src下創建db.properties文件,聲明數據庫連接參數。 注意:配置的為鍵值對數據
② 在applicationcontext.xml中配置屬性文件的掃描
③ 在數據源bean中使用${鍵名}的方式獲取屬性文件中的數據庫連接參數
注意:
將factory的bean和mapper掃描的bean之間的依賴注入變為普通的屬性注入,因為依賴注入>屬性文件掃描>屬性注入。如果不將factory和mapper掃描之間的依賴注入變為屬性注入,會造成數據庫參數還沒有從配置文件中讀取到容器中,就去進行mapper掃描了,會報數據庫參數異常的錯誤。
Spring的常用注解
① @Component:使用在普通java類上
② @Service:使用在業務層類上
作用:
聲明一個類的對象為bean對象,相當于配置了bean標簽。
注意:
相當于使用的是無參數構造器來創建對象。
問題:
只使用@Service注解,和 A a=new A();的效果是相同的,創建的是一個沒有初始化數據的bean對象,但是在實際生產環境中很多時候需要Spring容器幫我們創建一個帶有初始化數據的對象(屬性注入|依賴注入)
解決:
仍然使用注解,告訴Spring容器對象,如何給注解聲明的對象進行初始化的賦值.,基本類型屬性賦值和引用類型屬性賦值
實現:
依賴注入的注解:@Autowire和@Resource
屬性注入的注解:@Value
③ @Controller:使用在控制層類上,SpringMVC
作用:
聲明一個類的對象為bean對象,相當于配置了bean標簽
使用:
在SpringMVC的控制器類上使用。
④ @Repository
作用:
聲明一個類的對象為bean對象,相當于配置了bean標簽
使用:
在數據庫功能類上使用。比如Dao層對象
⑤ @Resource
作用:
替換在配置文件的依賴注入的。
使用:
在有依賴關系的屬性上使用,比如A中有B屬性,則在B屬性上聲明,告訴Spring容器對象將B的bean對象注入到A的bean對象中
注意:
此注解是jdk官方的注解,不是Spring的注解,會先按照byName的方式注入,如果沒有則按照byType的方式 繼續注入,如果都沒有則不注入。并且不需要提供get/set方法
⑥ @Autowired
作用:
和@Resource相同,都是替換依賴注入的配置的。
使用:
在需要依賴注入的屬性上聲明
注意:
該注解是Spring官方提供的,默認使用byType.
⑦ @Value
作用:
用來替換配置文件中的屬性注入的。
使用:
在屬性上聲明,值為${“鍵名”}
示例: @Value(${“name”})
注意:
使用此注解的注入,無需提供get/set方法。
示例:
總結
以上是生活随笔為你收集整理的Spring的properties属性配置文件和Spring常用注解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9个最佳珠宝标识以及如何免费制作自己的[
- 下一篇: SpringMVC中使用作用域对象完成数