背景:今天看了spring測試工程bean的xml配置文件,整體複習一下bean基礎。
我目前常見bean屬性:id,class,property這三個。
1.id和class
id:是這個bean在全局的唯一標識。
class:是被@server註解的類的位置,一般包名+類名。
舉個例子:
定義一個抽象接口,被@server註解.@Service和@Component都是用來註解類,並把類放入spring的容器裏面:
定義一個類繼承接口,並重寫接口的抽象方法:
ps:有個java基礎-接口。首先接口不能被實例化的。接口的方法都需要被繼承類進行重寫。類可以implemetes關鍵字繼承多個接口。但是類只能繼承一個父類。即類繼承接口可以有多個,但是父類只能有一個。此外接口如果有多個抽象方法,那麼都需要繼承接口的類都需要一一實現。
xml配置bean:
測試一下,我們通過@Autowired進行自動裝配和通過@Qualifier註解來按照bean的xml配置中id進行準確注入。這裏面@Server和@Qualifier是配套使用的。@Qualifier主要用來當有奇異的時候通過id唯一性來定位bean。這裏面跟@Component和@Autowired配套使用是說一樣的。@Component是不能註解到類中方法上->@Bean來修飾方法對返回實例進行pojo是聲明。
2.property
這個屬性就是給類中變量進行賦值的 pojo實例聲明之後,類裏面對應變量進行賦值。類似set()方法一樣。如圖:
property進行了兩個變量的賦值contractInterface和rpc的賦值。
這裏面有個工具類SCFContractFactoryBean繼承了spring的接口FactoryBean ,重寫了getObject(),isSingleton(),getObjectType()
因爲類中有兩個變量rpc和contractInterface。