1. 程式人生 > >Spring原始碼分析(一) 結構組成

Spring原始碼分析(一) 結構組成

  1. bean:主要包含bean的定義,讀取程式碼配置的bean,儲存bean的工廠beanFactory,例項化bean,為bean注入屬性的一些介面。具體為BeanDefinition,XmlBeanDefinitionReader,DefaultListableBeanFactory,BeanUtils,BeanWrapperImpl
  2. core:主要包含一些核心的工具類,Spring的其他元件都要使用到這個包裡的類。主要有一些反射方法的工具類,代理類等其他一些類
  3. context: 主要是基於bean和core模組基礎之上,進行了一次封裝和一些擴充套件,包括國際化資源支援,jmx,schedul,ejb等j2ee的特性的支援
  4. aop:即面向切面程式設計,是基於aspectj的一個面向切面程式設計的實現。定義了方法攔截器和切點。主要的一個類是AnnotationAwareAspectJAutoProxyCreator,這個類是這個標籤的解析類,可以開啟spring的aop註解,通過掃描bean根據註解生成代理類實現面向切面程式設計,主要繼承了BeanFactoryAware,用於傳遞beanfactory和BeanPostProcessor,用於攔截bean的例項化
  5. web:http協議的包。定義了和http容器有關的一些實體類,例如ServletServerHttpRequest,ServletServerHttpResponse等用來解析http資料,還有對web service的支援
  6. webmvc:spring的web開發的主要包。主要的一個類是DispatcherServlet,負責對http請求進行分發處理,其中關鍵的兩個成員變數是HandlerMapping和HandlerAdapter,HandlerMapping 負責對映url,HandlerAdapter負責處理請求。resources資料夾下有一個配置檔案DispatcherServlet.properties,配置了一些預設的屬性。還有一個是ClassPathXmlApplicationContext,包含了一些上下文資訊,還有渲染檢視的一些view。
  7. jdbc:封裝了對資料庫的一些操作,資料來源的定義.