spring+maven---使用bean代替傳統的方法

2020-10-13 15:00:20


與上一篇作比較: https://blog.csdn.net/weixin_42556863/article/details/108952582.


前言

使用了xml去構建專案


提示:以下是本篇文章正文內容,下面案例可供參考
在這裡插入圖片描述

一、xml是什麼?(都是寫程式碼的不喜歡看文字描述)

xml是一種用於標記電子檔案使其具有結構性的標示語言。

二、使用步驟

前置條件

在這裡插入圖片描述

需要建立一個類跟一個介面分別為:

//SomeService.java
public interface SomeService {
    void doSome();
}
//SomeServiceImpl.java
public class SomeServiceImpl implements SomeService {
    @Override
    public void doSome() {
        System.out.println("執行了SomeServiceImpl中的doSome方法");
    }
}

1.在resource中建立beans.xml檔案(右擊resource–>New–>XML Configuration File -->Spring Config)

在這裡插入圖片描述

2.編寫beans.xml

beans.xml的作用:
告訴spring建立物件
宣告bean,就是告訴spring要建立的某個類的物件
id:物件的自定義名稱,唯一值。spring通過名稱找到物件
class:類的全限定名稱(不能是介面,因為spring是反射機制建立物件,必須使用類) spring就完成 SomeService service1=new SomeServiceImpl();
spring是把建立好的物件放在map,spring中有一個map存放物件的。
springMap.put(id的值,物件);
例如:springMap.put(「someService」,new SomeServiceImpl());
一個 bean宣告一個物件。

  <bean id="someService" class="com.kekek.service.impl.SomeServiceImpl" />

在這裡插入圖片描述

3.編寫測試用例

String name:names是foreach的列舉
其實

    for (String name:names) {
            System.out.println("容器中定義的物件名稱:"+name);
        }

等同於

 for (int i = 0; i < names.length ; i++) {
            System.out.println("容器中定義的物件名稱:"+names[i]);
        }

完整程式碼

    @Test
    public void test03(){
    	//編寫xml的名稱
        String config="beans.xml";
        ApplicationContext ac=new ClassPathXmlApplicationContext(config);
        //使用spring提供的方法,獲取容器中定義的物件的數量
        int nums=ac.getBeanDefinitionCount();
        System.out.println("容器中定義的物件數量:"+nums);
        //容器中每個定義的物件的名稱
        String names [] = ac.getBeanDefinitionNames();
        for (String name:names) {
            System.out.println("容器中定義的物件名稱:"+name);
        }
    }

執行結果

beans.xml中只有一個bean,且名稱為someService
在這裡插入圖片描述


總結(圖比較簡單容易看懂)

本以為很複雜的東西