基於XML的自動裝配 SpEL測試

2021-10-03 07:21:15 字數 1217 閱讀 8986

autowire="default/no":不自動裝配;不自動為car屬性賦值

autowire="byname":按照名字;

private car car;

1)、以屬性名(car)作為id去容器中找到這個元件,給他賦值;如果找不到就裝配null;

car = ioc.getbean("car");

autowire="bytype":

private car car;

1)、以屬性的型別作為查詢依據去容器中找到這個元件;如果容器中有多個這葛型別的元件,報錯;

nouniquebeandefinitionexception:

no qualifying bean of type [com.atguigu.bean.car] is defined:

expected single matching bean but found 2: car01,car02

2)、沒找到呢?裝配null

car = ioc.getbean(car.class);

autowire="constructor":

public person(car car)

按照構造器進行賦值;

1)、先按照有參構造器引數的型別進行裝配(成功就賦值);沒有就直接為元件裝配null即可。

2)、如果按照型別找到了多個;引數的名作為id繼續匹配;找到就裝配;找不到就null;

3)、不會報錯;

[spel測試i](spring expression language)spring表示式語言

在spel中使用字面量、

引用其他bean、

引用其他bean的某個屬性值、

【 呼叫非靜態方法

呼叫靜態方法、】

使用運算子;都支援

Spring基於xml自動裝配

首先寫兩個類dept類和emp類。dept類 package com.keafmd.spring5.autowire keafmd classname dept description 部門類 author 牛哄哄的柯南 date 2021 01 16 13 43 public class dept...

spring基於xml的自動裝配

官網說明 mode 說明no 預設 無自動裝配。bean引用必須由ref元素定義。對於大型部署,建議不要更改預設設定,因為明確指定協作者可以提供更好的控制和清晰度。在某種程度上,它記錄了系統的結構。byname 按屬性名稱自動裝配。spring尋找與需要自動裝配的屬性同名的bean。例如,如果乙個b...

IOC基於Bean的xml自動裝配

1 根據指定裝配規則 屬性名稱和屬性型別 spring自動將匹配的屬性值進行注入 2 bean標籤屬性autowire,配置自動裝配 3 autowire屬性常用兩個值 byname根據屬性名注入,注入bean的id和類的屬性名稱一樣 bytype根據屬性型別注入 普通匹配 bean id emp ...