Spring快速回憶 二

2021-08-23 14:21:51 字數 3306 閱讀 1838

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...

快速回憶正規表示式

這不是入門級文章,但如果你對正規表示式有了解,或使用過,則能幫助你快速回憶。閱讀此文需要你之前使用過正規表示式或者有些了解,因為我沒有寫很多的例子。總結正規表示式,只是因為個人在幾年的積累之後,想通俗簡單的概述正規表示式中各種符號和用法。網上有很多關於正規表示式,但總感覺專業術語太多,讀起來拗口或繞...