Spring 雖然比起EJB輕量了許多,但是因為它需要兼容許多不同的類庫,導致現在Spring還是相當的龐大的,動不動就上40MB的jar包, 而且想要理解Spring的內部運行機制,閱讀它的代碼非常重要, 但是往往它的代碼非常的"多".
現在根據Spring對Bean的生命周期的處理, 編寫出一款非常小的IoC容器, 沒有了對XML的解析,而是通過對Config對象的構造而完成IoC配置文件的聲明, 相比較XML的方式, 對重構軟件非常具有好處, 並且這個IoC大部分的實現是依據Spring的運行過程來編寫的, 具有完整的生命周期管理, 支持singletons,prototype, 兩種類型的Bean生成, 支持@Component,@Autowired , 包掃描等特性(和Spring差不多).
一下是一段test代碼:
這個是自動掃描的方式進行配置.
注: 該項目沒有使用什麼maven等構建, 直接通過eclipse導入web 動態網站即可, 測試代碼在test.mvc.App.java中
一下是該項目的地址:
https://github.com/y2k0103/ioc