Spring架構學習筆記(二)-- 兩大核心思想__java

來源:互聯網
上載者:User
1.IoC(控制反轉)

      所謂控制反轉,只要一個類將它內部狀態的控制權交給其他機制來完成。就是程式中不建立對象,只在設定檔中,描述如何建立它們的方式。在代碼中,不直接與對象和服務串連,在設定檔中描述哪個組件需要哪項服務。

      IoC(控制反轉)是目的,DI(注入依賴)實現控制反轉的手段。

      所謂依賴注入,就是將依賴的對象的建立和服務都交給設定檔和Spring架構(若不使用Spring架構,程式需要建立對象和相應的服務),依賴類只需要聲明所需要的成員變數。也就是說,依賴類原本需要主動去擷取對象,但採用依賴注入後對象由第三方機構提供,自己僅需聲明需要什麼對象即可。 

      舉個栗子:

      不使用Spring架構時:

  //使用傳統的方法,不考慮使用Spring架構  UserService userService = new UserService();  userService.setName("Dr_xiao");  userService.sayhello();

      使用Spring架構時:

  //使用Spring架構方法  //1.引入Spring的開發包(idea會自動下載)  //2.建立Spring核心檔案spring-config.xml  //3.建立一個Spring的IOC容器物件  ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");  //4.從IOC容器中擷取Bean執行個體  UserService userService = (UserService) context.getBean("UserService");  //5.調用相應的方法  userService.sayhello();

2.AOP(面向切面編程)

      所謂面向切面編程,是對所有對象或者一類對象進行編程(安全、日誌、事物都屬於切面)。就是說不再關注於對象編程,而是更多的可以建立非行為性的關注面,將他們插入到應用程式中。目標是在不改變代碼的情況下,讓程式動態增加新的服務。

      面向切面編程,是物件導向編程的一種補充,動態將代碼切入到類的指定方法、指定位置上。

      物件導向編程(OOP)是從橫向上區分出一個一個類來,而面向切面編程(AOP)是從縱向上向對象中加入特定的代碼。

      使用AOP的方法步驟:

定義組件:業務組件、通知群組件(前置、後置、環繞...) 在容器中配置組件,以及組件之間的依賴關係注入 通過AOP注入通知 執行個體化容器,從容器中取出組件進行使用

        舉個栗子:

//1.定義介面//2.編寫對象(被代理對象=目標對象)//3.編寫通知(前置通知目標方法調用前調用)//4.在xml檔案中進行配置//4.1 配置被代理對象=目標對象//4.2 配置通知//4.3 配置代理對象是ProxyFactoryBean的對象執行個體//4.3.1 <!-- 代理介面集 -->//4.3.2 織入通知//4.3.3 配置被代理對象

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.