個人心得
 spring的DI就是 靠JAVA反射到指定的實體類中調用該類中的SET方法注入
會根據property 的name屬性反射的相應的類中找SET方法


spring對AOP的支持(采用Annotation的方式)

1、spring依賴庫
 * SPRING_HOME/dist/spring.jar
 * SPRING_HOME/lib/jakarta-commons/commons-logging.jar
 * SPRING_HOME/lib/log4j/log4j-1.2.14.jar
 * SPRING_HOME/lib/aspectj/*.jar
 
2、采用Aspect定義切面

2、在Aspect定義Pointcut和Advice

4、啟用AspectJ對Annotation的支持并且將Aspect類和目標對象配置到Ioc容器中

注意:在這種方法定義中,切入點的方法是不被執行的,它存在的目的僅僅是為了重用切入點
即Advice中通過方法名引用這個切人點

AOP:
 * Cross cutting concern
 * Aspect
 * Advice
 * Pointcut
 * Joinpoint
 * Weave
 * Target Object
 * Proxy
 * Introduction

spring的普通屬性注入 
 參見:spring文檔3.3章節
 
什么是屬性編輯器,作用?
 * 自定義屬性編輯器,spring配置文件中的字符串轉換成相應的對象進行注入
 spring已經有內置的屬性編輯器,我們可以根據需求自己定義屬性編輯器
 
 * 如何定義屬性編輯器?
  * 繼承PropertyEditorSupport類,覆寫setAsText()方法,參見:UtilDatePropertyEditor.java
  * 將屬性編輯器注冊到spring中,參見:applicationContext-editor.xml
  
依賴對象的注入方式,可以采用:
 * ref屬性
 * <ref>標簽
 * 內部<bean>來定義
 
如何將公共的注入定義描述出來?
 * 通過<bean>標簽定義公共的屬性,指定abstract=true
 * 具有相同屬性的類在<bean>標簽中指定其parent屬性
 
 參見:applicationContext-other.xml