1).構造器注入
通過構造器注入屬性,當然前提是bean得有有參構造。
id="getcon3"
class="***.***.beandemo">
name="id"
value="1"/>
name="name"
value="hello word!!!"/>
bean>
除此之外還可以通過通過:構造器索引引數方式來實現依賴注入、根據引數型別進行注入。
2).setter注入
a.注入常量
id="settype"
class="***.***.***beandemo">
name="name"
value="hello world!"/>
name="id">
1value>
property>
bean>
b.注入集合
@override
public
void
before(method arg0, object arg1, object arg2)
throws throwable
}
b).後置通知類public
class
myadviceafter
implements
afterreturningadvice
}
c).環繞通知類public
class
myinterceptoradvice
implements
methodinterceptor
}
2 . 通知&&顧問的xml配置!
a).通知在xml中的配置情況入下:
乙個實現類 注入乙個通知,注入的時間由通知定義
id="userservice"
class="com.project.service.impl.userserviceimpl">
bean>
id="myadvice"
class="com.project.aop.beforeadvice.myadvicebefore">
bean>
id="proxyuserservice"
class="org.springframework.aop.framework.proxyfactorybean">
name="target"
ref="userservice">
property>
name="interceptornames"
value="myadvice">
property>
bean>
b).顧問在xml中的配置情況入下:
advice通知,主要是指定注入的時間(前置通知,後置通知)。使用通知所有的連線點都變成了切入點。如果現在我們想指定哪些切入點,那就需要用到顧問。
實現方式有兩種:
1.namematchmethodpointcutadvisor介面通過名字來指定
2.regexpmethodpointcutadvisor介面通過正規表示式匹配名字
(1)通過名字指定
id="userservice"
class="com.project.aop02.advice.userserviceimpl">
bean>
id="myadvice1"
class="com.project.aop02.advice.mybeforeadvice">
bean>
id="myadvice2"
class="com.project.aop02.advice.myafteradvice">
bean>
id="myadvisor"
class="org.springframework.aop.support.namematchmethodpointcutadvisor">
name="advice"
ref="myadvice1">
property>
value=「login,register」>
property>
bean>
id="proxyuserservice"
class="org.springframework.aop.framework.proxyfactorybean">
name="targetname"
value="userservice">
property>
name="interceptornames"
value="myadvisor">
property>
bean>
(2)通過正規表示式指定id="myadvisor"
class="org.springframework.aop.support.regexpmethodpointcutadvisor">
name="advice"
ref="myadvice1">
property>
name="patterns"
value=".*login.*,.*register.*">
property>
bean>
c).為了更加靈活的設定切入點,可以使用自動**生成器!
(1).自動**生成器(全自動):
所有顧問自動的根據名稱或者正在表示式
去匹配所有類裡面的所有方法織入連線點!!!
class="org.springframework.aop.framework.autoproxy.defaultadvisorautoproxycreator">
bean>
(2).bean名稱自動**生成器(半自動):
指定顧問,指定類名,匹配所要織入的連線點!!!
class="org.springframework.aop.framework.autoproxy.beannameautoproxycreator">
name="beannames"
value="userservice1,userservice2">
property>
name="interceptornames"
value="myadvisor">
property>
bean>
Spring快速回憶 三
其核心思想在於使用ioc容器來管理struts2中action的生命週期,這樣才能使得action中所依賴的物件被注入。接下來就是快速整合的過程 1 更改web.xml 讓web容器來接手ioc容器的建立!contextconfiglocationparam name param value con...
C語言快速回憶書籤
include include int main return 0,將cpu使用權交個作業系統,int 返回乙個整型.include include int main for j 0 j 10 j return 0 include function declaration intmax int nu...
快速回憶正規表示式
這不是入門級文章,但如果你對正規表示式有了解,或使用過,則能幫助你快速回憶。閱讀此文需要你之前使用過正規表示式或者有些了解,因為我沒有寫很多的例子。總結正規表示式,只是因為個人在幾年的積累之後,想通俗簡單的概述正規表示式中各種符號和用法。網上有很多關於正規表示式,但總感覺專業術語太多,讀起來拗口或繞...