1.DI的實現方式----自動注入
在bean標籤中 加屬性 autowire
取值有 no 默認值
byName 根據屬性的名字 去容器中找對應的組件id
byType 根據屬性的類型去查找 類型有一樣就報錯
constructor 優先按照構造方法參數的名字去查找 如果找不到 則啓用參數的類型去查找
如果按照類型找類型有相同就不加載
用<property> 不能佔住參數位置 <constructor-arg> 可以佔住位置
autodetect 自動選擇 之前版本有 現在已經不支持了
2.bean參數注入
2.1 普通類型 (字符串 整數 浮點數)
<property name="屬性名" value="值" > </property>
<property name="屬性名" >
<value> 值 <value>
</property>
<property name="屬性名" >
</null>
</property>
2.2 注入集合類型
一個javabean 中有一個 List 類型的屬性 則在配置文件中 使用 <list> 標記進行注入
<property name="friends" >
<list>
<value>猛哥</value>
<value>梁哥</value>
<value>小馬</value>
</list>
</property>
一個javabean 中有一個 Set 類型的屬性 則在配置文件中 使用 <set> 標記進行注入
<property name="friends1" >
<set>
<value>猛哥</value>
<value>梁哥</value>
<value>小馬</value>
</set>
</property>
一個javabean 中有一個 Map 類型的屬性 則在配置文件中 使用 <map> 標記進行注入
<property name="phones" >
<map>
<entry key="" value=""> </entry>
<entry key="" value=""> </entry>
</map>
</property>
一個javabean 中有一個 Properties 類型的屬性 則在配置文件中 使用 <props> 標記進行注入
<property name="phones2" >
<props>
<prop key="key1">值</prop>
<prop key="key2">值2</prop>
</props>
</property>
2.3 注入的集合的單獨定義 可以集合抽取出來 然後 被別的bean 引用
<util:list id="集合標識">
<value>值</value>
<value>值2</value>
</util:list>
<util:set id="集合標識">
<value>值</value>
<value>值2</value>
</util:set>
<util:map id="集合標識">
<entry key="" value=""> </entry>
<entry key="" value=""> </entry>
</util:map>
<util:properties id="集合標識">
<prop key="">值</prop>
</util:properties>
3.練習
定義一個Properties 集合 這個集合要求單獨定義 把連接數據庫的四個要素信息封裝到這個集合中
可以使用 Spring 的EL表達式 引用 集合 或者 對象的屬性數據 你只需要把 之前的 $ 符 換成 #
之前數據庫的連接信息 都在 db.properties 中 Spring Properties集合能加載 db.properties
<!-- 使用 db.properties 文件構建一個集合 -->
<util:properties id="dbparam" location="classpath:db.properties"></util:properties>
-----------------------------------------------------------------------------------------
4.組件掃描
4.1 作用
Spring 提供了一套基於 標註(註解) 的配置方式,這個技術可以大大簡化xml配置信息。
4.2 組件掃描的實現步驟
1.建立一個項目 拷貝 ioc 和 aop 的jar包
2.拷貝spring 容器對應的配置文件 並且在這個配置文件 中 開啓組件掃描
<context:component-scan base-package="包名"> </context:componet-scan>
3.在對應的類上 加 對應的註解標記
@Component 通用組件標註
@Repository 持久化層的標註
@Service 服務層對應的標註
@Controller 控制層對應的標註
4.從spring 容器中獲取對應的組件對象即可
4.3 組件的名字問題
默認是類名首字母小寫 當然也可以指定加載到容器中的組件名
2. spring自動注入
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
1. spring核心構成+IOC
1.Spring 的核心構成 IOC Spring 最核心的模塊 DAO Spring 對訪問數據庫的支持 主要封裝的是
Straw_boy
2020-06-17 16:00:29
3. spring 組建掃描+Dao
Straw_boy
2020-02-24 00:40:09
1. spring核心構成+IOC
1.Spring 的核心構成 IOC Spring 最核心的模塊 DAO Spring 對訪問數據庫的支持 主要封裝的是
Straw_boy
2020-06-17 16:00:29
3. spring 組建掃描+Dao
Straw_boy
2020-02-24 00:40:09
Spring Boot設計流程 異常處理
Straw_boy
2018-09-04 12:16:51
pringBoot Thymeleaf模板 && 任務調度
Straw_boy
2018-09-04 12:16:50
SpringBoot MVC 攔截器
Straw_boy
2018-09-04 12:16:50
SpringBoot Beans定義 連接池
Straw_boy
2018-09-04 12:16:50
17, MySQL安裝和使用, MyBatis-Generator工具
Straw_boy
2018-09-04 12:16:50
13. SpringBoot Beans定義 + 參數注入 + 連接池
Straw_boy
2018-09-04 12:16:50
14. SpringBoot MVC + 分頁 + 攔截器
Straw_boy
2018-09-04 12:16:50
11. Spring + mybatis
Straw_boy
2018-09-04 12:16:49
16. SpringBoot靜態資源訪問, Thymeleaf模板技術, AOP, 任務調度
Straw_boy
2018-09-04 12:16:49
12. maven + Springboot
Straw_boy
2018-09-04 12:16:49