全站資源開放下載,感謝廣大網友的支持
鏈接失效請移步職業司平臺
非盈利平臺

非盈利平臺

只為分享一些優質內容

Java幫幫-微信公眾號

Java幫幫-微信公眾號

將分享做到極致

微信小程序

微信小程序

更方便的閱讀

職業司微信公眾號

職業司微信公眾號

實時動態通知

安卓APP

安卓APP

我們從此不分開

程序員生活志-公眾號

程序員生活志-公眾號

程序員生活學習圈,互聯網八卦黑料

支付寶贊助-Java幫幫社區
微信贊助-Java幫幫社區

spring學習:控制反轉( Ioc)急速入門,看圖理解【云圖智聯】

4
發表時間:2020-07-23 15:24

2.1 什么是控制反轉(IOC:Inverse of Control)

IOC反轉控制,實際上就是將對象的創建權交給了Spring,程序員無需自己手動實例化對象。

ioc1.png

ioc2.png

可以看出來工廠的作用就是用來解耦合的,而在使用spring的過程中,spring就是充當這個工廠的角色。IOC反轉控制,實際上就是將對象的創建權交給了Spring,程序員無需自己手動實例化對象

2.2、Spring編程—IOC程序實現

2.2.1建立spring工程(基于maven)

pom.xml

  1. <dependencies>

  2.     <dependency>

  3.         <groupId>org.springframework</groupId>

  4.         <artifactId>spring-context</artifactId>

  5.         <version>4.2.6.RELEASE</version>

  6.     </dependency>

  7.     <dependency>

  8.             <groupId>junit</groupId>

  9.             <artifactId>junit</artifactId>

  10.             <version>4.12</version>

  11.         </dependency>

  12. </dependencies>

2.2.2 編寫Java類

接口:

  1. public interface HelloService {

  2.     public void sayHello();

  3. }

實現類:

  1. public class HelloServiceImpl implements HelloService {

  2.     public void sayHello(){

  3.         System.out.println("hello,spring");

  4.     }

  5. }

2.2.3 編寫配置文件

在resource目錄下創建applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <!-- 引入約束 -->

  3. <beans xmlns="http://www.springframework.org/schema/beans"

  4.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  5.        xsi:schemaLocation="

  6. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">


  7.     <!-- 配置實用哪個實現類對Service接口進行實例化 -->

  8.     <!-- 配置實現類HelloServiceImpl,定義名稱helloService -->

  9.     <bean

  10.             id="helloService"

  11.             class="com.tianshouzhi.spring.HelloServiceImpl">

  12.     </bean>

  13. </beans>

2.2.4 測試

  1. public class HelloServiceTest {

  2.     //傳統寫法(緊密耦合)

  3.     @Test

  4.     public void traditionalTest(){

  5.         HelloService service = new HelloServiceImpl();

  6.         service.sayHello();

  7.     }


  8.     //使用Spring

  9.     @Test

  10.     public void springTest(){

  11.         // 工廠+反射+配置文件,實例化Service對象

  12.         ApplicationContext context = new ClassPathXmlApplicationContext(

  13.                 "applicationContext.xml");

  14.         //通過工廠根據配置的實例名稱獲取實例對象

  15.         HelloService service2=(HelloService) context.getBean("helloService");

  16.         service2.sayHello();

  17.     }

  18. }

免費學習視頻歡迎關注云圖智聯:


Java幫幫學習群生態

Java幫幫學習群生態

總有一款能幫到你

Java學習群

Java學習群

與大牛一起交流

大數據學習群

大數據學習群

在數據中成長

九點編程學習群

九點編程學習群

深夜九點學編程

python學習群

python學習群

人工智能,爬蟲

測試學習群

測試學習群

感受測試的魅力

Java幫幫生態承諾

Java幫幫生態承諾

一直堅守,不負重望

初心
勤儉
誠信
正義
分享
友鏈交換:加幫主QQ2524138991 留言即可 24小時內答復  
業司
教育資訊
會員登錄
獲取驗證碼
登錄
登錄
我的資料
留言
回到頂部