spring的IOC的簡單理解
阿新 • • 發佈:2018-11-06
之前看了一下原始碼,看的挺吃力,只能是慢慢看了。
簡單說一下springIOC的我的理解,IOC也叫控制反轉,可以有效的減低各個元件之間的耦合度
想象一下,如果不用IOC,那麼系統裡面會有大量的new 的物件,這些物件什麼時候建立什麼時候銷燬,哪些裡面有資料,想想就覺得很亂對不對。
然後IOC就出來了,就是簡單的吧bean交由spring容器來進行處理,在開發的過程中不必去new一個物件,因為在spring容器啟動的時候
就已經幫你建立好 了,你只需要去呼叫即可,就像之前那篇文章寫的一樣,把bean注入spring容器裡面
然後呼叫,通過bean註冊的ID拿到bean,然後進行使用即可
@Test public void test02() { // ApplicationContext applicationContext=new ClassPathXmlApplicationContext("bean.xml"); //通過AnnotationConfigApplicationContext獲取配置檔案 //然後通過bean的ID 獲取bean ApplicationContext applicationContext=new AnnotationConfigApplicationContext(MainConfigII.class); Color c= (Color) applicationContext.getBean("Color"); System.out.println(c.toString()); // Person person2=(Person) applicationContext.getBean("person"); //System.out.println(person==person2); }
這看似簡單的程式碼後面,有一大堆底層的實現,目前就簡單的說一下,後面再慢慢把原始碼看清,把筆記寫出來。
總的來說,就是通過類名和反射來實現IOC。