Spring 零散總結

2021-08-27 13:58:12 字數 1008 閱讀 4050

1.  beanfactory和factorybean的區別

參考自:

例如:  

最常見的factorybean,用於產生回話的工廠

分析:

|--------------普通bean

beanfactory  可存放的物件型別-------------------------|

|---------------工廠bean(可產生bean的bean)

偽**案例:             

a = 普通bean ; //相比於工廠bean

b = 工廠bean;//可生產 m 物件等等, factorybean必須實現public object getobject()介面

c = beanfactory(a,b)//c為ioc容器,容器中現在有a、b兩個物件

//1.從ioc容器中獲取a 例項的物件

c.get(a.class.name)

//2.從ioc容容器中獲取b例項物件

c.get(&b.class.name)

//3,從ioc容器中獲取.m 物件 (可能你會選擇先獲取b例項,再從b中獲取m物件)

c.get(b.class.name)

問題:1. 為什麼   c.get(b.class.name) 獲取到的是m物件?

猜想:ioc容器在getbean時,會判斷bean型別,如果為factorybean時,會呼叫getobject,此時會獲取到m物件

2.如何獲取 b物件本身?

c.get(&b.class.name)   beanfactory中提供&轉義字元

3.ioc容器為什麼要區分 普通bean和工廠bean,或者說為什麼這樣設計?

我也不知道啊。

總結:&對 factorybean 的轉義定義

如果使用 bean 的名字檢索 factorybean 得到的物件是工廠生成的物件,

如果需要得到工廠本身,需要轉義

SAS零散知識總結

1,變數名命名規範 以字母或者下劃線開始,可包含字母 下劃線 數字,且不超過32個字元 2,infile用於讀取外部資料檔案,一般於filename 和libname使用者一致,但路徑要精確到檔名 txt dat等 連用。3,input語句用於定義字段變數,可用於讀去外部檔案 infile card...

ClickHouse 零散小知識總結

1.clickhouse jdbc使用 google 的 cityhash128 演算法實現,可select cityhash128 檢視 2.python 連線 from clickhouse driver import client client client host 127.0.0.1 da...

零散知識收集

success在介面com.opensymphony.xwork2.action中定義,另外同時定義的還有error,input,login,none。值得一提的是struts 2.0中的result不僅僅是struts 1.x中forward的別名,它可以實現除forward外的很激動人心的功能,...