锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
1. 鍒涘緩澧炲己advice
2. 鐢≒roxyFactoryBean閰嶇疆澧炲己advice鎴栧寮哄櫒advisor錛堝寮哄拰鍒囧叆鐐圭粍鍚堬級
澶у鏁癝pring鑷甫鐨勫垏鍏ョ偣閮芥湁涓涓搴旂殑PointcutAdvisor錛岃繖鏍鋒柟渚垮湪涓涓湴鏂瑰畾涔夊垏鍏ョ偣鍜岄氱煡
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽NameMatchMethodPointcut-->NameMatchMethodPointcutAdvisor澧炲己鍣?br />聽聽聽聽聽聽聽闈欐佸垏鍏ョ偣聽聽聽 RegexMethodPointcut-->RegexMethodPointcutAdvisor澧炲己鍣?br />鍒囧叆鐐孤犅?br />聽聽聽聽聽聽聽鍔ㄦ佸垏鍏ョ偣聽聽聽 ControlFlowPointcut
AOP甯歌渚嬪瓙錛?br />Spring閰嶇疆鏂囦歡
<bean name="/searchSubmit" class="ca.nexcel.books.actions.SearchSubmit">
聽<property name="bookService">
聽聽<ref bean="bookService"/>
聽</property>
</bean>
<bean name="logger" class="ca.nexcel.books.interceptors.LoggingInterceptor"/> |(1)
<!-- AutoProxies -->
<bean name="loggingAutoProxy" class="org.springframework.aop.framework.autoproxy.
聽BeanNameAutoProxyCreator"> |(2)
聽聽聽聽 <property name="beanNames">
聽<value>/searchSubmit</valuesgt; |(3)
聽聽聽聽 </property>
聽聽聽聽 <property name="interceptorNames">
聽<list>
聽聽聽聽 <value>logger</value> |(4)
聽</list>
聽聽聽聽 </property>
</bean>
鍏朵腑錛?錛夋敞鍐屾嫤鎴櫒
聽聽聽聽聽 (2)鍒涘緩浜嗕竴涓?bean鍚嶇О鑷姩浠g悊錛屽畠鎻忚堪濡備綍搴旂敤鎷︽埅鍣ㄣ?br />聽聽聽聽聽 (3)灝哠truts鍔ㄤ綔娉ㄥ唽涓哄皢琚嫤鎴殑bean銆傚鏋滄偍鎯寵鎷︽埅鍏朵粬鐨凷truts 鍔ㄤ綔錛屽垯鍙渶瑕佸湪 "beanNames" 涓嬮潰鍒涘緩闄勫姞鐨?lt;value>鏍囪
聽聽聽聽聽 (4)鎵ц鐨勬嫤鎴櫒bean鐨勫悕縐?br />
BeanFactory聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 XmlBeanFactory聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 FileSystemXmlApplicationContext
ApplicationContext聽聽聽聽聽聽聽聽聽聽 ClassPathXmlApplicationContext
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 XmlWebApplicationContext
鍖哄埆錛?/p>
BeanFactory聽聽聽聽聽 寤惰繜杞藉叆鎵鏈?/span>Bean,鐩村埌getBean()琚皟鐢ㄦ墠鍒涘緩Bean銆?/span>
ApplicationContext 鍚姩鍚庡姞杞芥墍鏈?/span>Bean
聽
Bean鐢熷懡鍛ㄦ湡錛?/span>BeanFactory瀹瑰櫒
聽
瀹炰緥鍖?/p>
聽 璁劇疆灞炴?/span>
聽聽聽 璋冪敤BeanNameAware鐨?/span>setBeanName()鏂規硶
聽聽聽聽聽聽 璋冪敤BeanFactoryAware鐨?/span>setBeanFactory()鏂規硶
聽聽聽聽聽聽聽聽聽 璋冪敤ApplicationContextAware鐨?/span>setApplicationContext()鏂規硶(濡傛灉瀹瑰櫒涓?/span>ApplicationContext)
聽聽聽聽聽聽聽聽聽 璋冪敤BeanPostProcessor鐨勯鍒濆鍖栨柟娉?/span>
聽聽聽聽聽聽聽聽聽聽聽聽 璋冪敤InitializingBean鐨?/span>afterPropertiesSet()鏂規硶
聽聽聽聽聽聽聽聽聽聽聽聽 璋冪敤瀹氬埗鐨勫垵濮嬪寲鏂規硶錛?/span>init-method鍙傛暟閰嶇疆鐨勬柟娉曪級
聽聽聽聽聽聽聽聽聽 璋冪敤BeanPostProcessor鐨勫悗鍒濆鍖栨柟娉?/span>
鑷蟲Bean鍙互琚嬌鐢?/span>
聽
璋冪敤DisposableBean鐨?/span>destroy()鏂規硶
璋冪敤瀹氬埗鐨勯攢姣佹柟娉?/span>(destroy-method鍙傛暟閰嶇疆鐨勬柟娉?/span>)
鑷蟲Bean琚攢姣?/span>
聽
BeanFactoryPostProcessor渚嬪瓙
聽聽聽 浠庡涓閮ㄥ睘鎬ф枃浠朵腑杞藉叆灞炴э紝騫朵嬌鐢ㄨ繖浜涘睘鎬ф浛鎹㈠崰浣嶇鍙橀噺
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
聽聽聽 <property name="locations">
聽聽聽聽聽聽聽 <list>
聽<value>WEB-INF/mail.properties</value>
聽<value>WEB-INF/jdbc.properties</value>
聽聽聽聽聽聽聽 </list>
聽聽聽聽 </property>
</bean>
聽聽聽 娉ㄥ唽瀹氬埗鐨?/span>java.bean.PropertyEditor瀹炵幇錛岀敤瀹冩妸瑁呴厤鐨勫睘鎬ц漿鍖栦負鍏朵粬綾誨瀷錛屽彲浣跨敤String璁劇疆緇欎竴涓潪String灞炴?/span>
妯℃澘鏂規硶錛?/span>
聽聽聽聽聽 灝嗘祦紼嬩腑鐨勫彲鍙橀儴鐨勫叿浣撳疄鐜板鎵樼粰涓涓帴鍙o紝榪欎釜鎺ュ彛鐨勪笉鍚屽疄鐜板畾涔変簡鍙彉閮ㄥ垎鐨勫叿浣撳疄鐜?/span>
Spring 鎶婃暟鎹闂祦紼嬩腑鐨勫浐瀹氶儴鍒嗕笌鍙彉閮ㄥ垎鍒嗗紑錛屽垎鍒槧灝勬垚涓や釜綾伙細妯℃澘 Template 錛屽洖璋?/span> Callback 錛屾ā鏉跨鐞嗘祦紼嬬殑鍥哄畾閮ㄥ垎錛屽洖璋冨濉啓瀹炵幇緇嗚妭
聽
DAO 妯℃澘
聽
1. 鍑嗗璧勬簮
2. 鍚姩浜嬪姟
5. 鎻愪氦 / 鍥炴粴浜嬪姟
6. 鍏抽棴璧勬簮鍜屽鐞嗗紓甯?/span>
DAO 鍥炶皟
聽
聽
3. 鍦ㄤ簨鍔′腑鎵ц
4. 榪斿洖鏁版嵁
DAO 鏀寔綾?/span>
聽
聽聽聽聽 緇ф壙
鍏寵仈
聽
聽
閰嶇疆榪欎釜鐨勭洰鐨勬槸璁╀綘鐨?/SPAN>java搴旂敤紼嬪簭鎵懼埌榪炴帴mysql鐨勯┍鍔紟
閰嶇疆瀹岀幆澧冨彉閲忓悗榪樻湁寰堥噸瑕佷竴姝ュ氨鏄負JSP榪炴帴鏁版嵁搴撻厤緗┍鍔紝榪欎釜鍏跺疄寰堢畝鍗曪紝灝辨槸鎶?/SPAN>mysql-connector-java-
E:\Java\Tomcat5.0\common\lib
E:\Java\Tomcat5.0\shared\lib
涓鑸儏鍐典笅鍙鑰冨埌Tomcat5.0涓婇潰鐨勪袱涓棶棰樺す閲岄潰灝卞彲浠ヨВ鍐抽棶棰樹簡錛屽鏋滈渶瑕侊紝涔熷彲浠ュ皢mysql-connector-java-
3錛?SPAN style="FONT: 7pt 'Times New Roman'">
Eclipse涓暟鎹簱鎻掍歡涓搷浣滄暟鎹簱鏃剁殑涓枃緙栫爜闂錛?/SPAN>4錛?SPAN style="FONT: 7pt 'Times New Roman'">
鍦?/SPAN>JSP緗戦〉緙栬緫涓?/SPAN>涓漢緇忛獙錛?/SPAN>鍦ㄧ粡榪囧緢澶氱殑嬈¤皟璇曚箣鍚庯紝鍙戠幇鍦ㄨ浜?/SPAN>myeclipse涔嬪悗錛屾湁榪欎箞鏉″皬宸э細 浠ヤ笂緇忛獙閮芥槸鍦?/SPAN>myeclipse