原创 Spring 源碼梳理(七) 註解源碼

註解源碼 1.Spring的註解可以分爲兩類,一個是類上的註解,如@Component; 一個是類內部的註解,如@Autowired;Spring對兩種形式的註解的處理是不同的,在Spring的初始化週期中註解生效的時間也不同。 2.使用

原创 Spring 源碼梳理(四) BeanFactoryPostProcessor

BeanFactoryPostProcessor 上篇介紹了BeanPostProcessor(後面以Post代替),這篇講的是BeanFactoryPostProcessor(後面以PostFactory代替),後者也是可以修改Bean

原创 Spring 源碼梳理(三) 再談BeanPostProcessor

再談BeanPostProcessor 上篇文章介紹的是BeanPostProcessor的用法,在最後留下了一個問題,對於Spring中的Bean屬性'Lazy-init'(延遲加載),當Hook類(BeanPostProcessorA

原创 Java NIO使用和總結

Java NIO使用和總結 0.前言 NIO即New IO,是在java io機制的基礎上增加的內容。這篇主要學習和使用它的用法, 主要的學習來自併發編程網http://ifeve.com/java-nio-all/ 1.Channel(

原创 雙親委派模型與類的生命週期

雙親委派模型與類的生命週期 一.雙親委派模型 1.雙親委派模型是一種類加載的時候用到的一種模型,它指定了使用什麼樣的規則來加載類,指定了按照什麼樣的順序來調用類加載器從而加載類。至於叫雙親委派,其實是不對的,不像數據結構中樹的雙親那樣含義

原创 Spring 源碼梳理(五) FactoryBean與BeanFactory

FactoryBean與BeanFactory 1.什麼是FactoryBean,後綴是'Bean'證明本質上仍然是一個Bean,仍然要放入BeanFactory中,只是它實現了FactoryBean<T>接口; 2.特點:根據該Bean

原创 ClassNotFoundException和NoClassDefFoundError

ClassNotFoundException和NoClassDefFoundError ClassNotFoundException:發生在裝入階段。 當應用程序試圖通過類的字符串名稱,使用常規的三種方法裝入類,但卻找不到指定名稱的類定

原创 Maven學習總結

最近想搭建一個基於“Maven多模塊+Spring+Spring MVC+Mybatis+Mysql”的框架,首先需要掌握maven的相關知識,下面一個maven的教程很不錯;原來來自 孤傲蒼狼 Maven學習總結(一)——Maven入

原创 Mybatis,Spring集成與事務配置

Mybatis,Spring集成與事務配置 這篇主要講兩個問題,一個是Spring與Mybatis的集成,另一個是Mybatis與Spring的事務配置 一.Mybatis與Spring的集成,需要先掌握的 1.關於Mybatis的配置和

原创 Spring+SpringMVC+Mybatis+Maven搭建項目

Spring+SpringMVC+Mybatis+Maven搭建項目 1.前言 這篇文章一步步總結了搭建一個基於Maven的Spring+SpringMVC+Mybatis框架的完整過程,同時加入了基礎工具類,包括讀取配置文件,監聽器和定

原创 Spring 源碼梳理(六) BeanNameAware和BeanFactoryAware

BeanNameAware和BeanFactoryAware 1.BeanNameAware和BeanFactoryAware概念 BeanNameAware:實現該接口的Bean能夠在初始化時知道自己在BeanFactory中對應的名字

原创 Spring中的WebAppRootListener

WebAppRootListener 這個listener的作用就是監聽web.xml中的配置param-name爲webAppRootKey的值: <context-param> <param-name>webAppR

原创 Spring 源碼梳理(九) AOP與動態代理

Spring 源碼梳理(九) AOP與動態代理 SpringAOP的核心是動態代理,就從動態代理開始分析,然後就會談到靜態代理,以及爲什麼會有代理這個說法,後面逐一分析: 1.什麼是代理,爲什麼會有代理? 類甲的代理就是代替甲來完成甲的功

原创 由url-pattern引發的思考

由url-pattern引發的思考 在配置servlet的時候,需要配置url-pattern,在實際使用的過程中產生了一些問題,在對這些問題一一實踐後總結出以下內容: 1.tomcat本身有兩個servlet,一個名稱是'default

原创 Spring 源碼梳理(二) BeanPostProcessor

BeanPostProcessor 1.BeanPostProcessor的概念 BeanPostProcessor是一個接口,它可以使得繼承它的類成爲一個"回調類"(自己起的稱呼),繼承的方法成爲回調函數;它就像Windows中Hook