場景:想通過magicboss.getcar方法每次都得到乙個新的car例項。car是prototype,但magicboss是singleton。可以採用lookup方法注入。依賴於cglib。cglib可以在執行期動態操作位元組碼,為bean動態建立子類或實現類。
public
inte***ce magicboss
"car" class="x.x.car"/>
"magicboss" class="x.x.magicboss">
"getcar" bean="car"/>
通過bean的parent,abstract屬性實現繼承
通過bean的depends-on屬性實現依賴。
如果要使用與web環境相關的作用域,則需要在web.xml中配置乙個requestcontextlistener***。
spring提供了乙個factorybean介面,使用者可以通過實現該工廠類介面定製例項化bean的邏輯。它提供了三個方法:
t getobject():返回由factorybean建立的bean例項,如果issingleton()返回true,該例項會被放到spring容器的快取池中。
issingleton():是否是單例項。
有乙個use-default-filters屬性,預設為true,表示掃瞄@component,@controller,@service,@repository.
如果對類中集合類進行@autowired標註,那麼spring會將容器中所有型別匹配的bean自動注入進來。
autowired
private
list
plugins;
autowired
private mappluginmaps;提供的新特性。key為bean的名字
@component
@order(value=1)//值越小,優先被載入
public
class
oneplugin
implements
plugin
requesthandleevent:當乙個http請求被處理後,產生該事件。擁有兩個子類,分別代表servlet及portlet的請求事件。
事件***介面
事件廣播器
//註冊***
registerlisteners();
//完成重新整理並發布容器重新整理事件
finishrefresh();
public
class
mailsenderevent
extends
private string to;
super(source);
this.to = to;
}public string getto()
}public
class
mailsenderlistener
implements
}ublic class
mailsender
implements
@override
public
}public
void sendmail(string to)
}class="x.x.mailsenderlistener"/>
id="mailsender" class="x.x.mailsender"/>
Spring學習筆記 (5)
spring 1.需要注入的屬性寫到配置檔案中 如果屬性為基礎型別,需要有setter 方法,必須也寫在包的類 中,因為需要setter 方法 如果屬性為類,需要有無參構造方法,可不寫在包的類 中 2.spring config.xml的告知 在程式入口告知 對於測試入口 contextconfig...
shiro學習筆記(5) spring整合
spring整合shiro 1 1 jar org.apache.shiro shiro spring 1.2.3 2 web.xml contextconfiglocation classpath spring shiro.xml org.springframework.web.context.c...
Spring學習筆記5 註解方式AOP
第一步 註解配置業務類 使用 component pservice 註解productservice 類 1 package com.spring.service 23 import org.springframework.stereotype.component 45 component pser...