Spring自動掃瞄元件

2021-08-15 22:49:40 字數 1829 閱讀 5298

通常情況下,宣告所有的bean類或元件的xml bean配置檔案,這樣spring容器可以檢測並註冊bean類或元件。 其實,spring是能夠自動掃瞄,檢測和預定義的專案包並例項化bean,不再有繁瑣的bean類宣告在xml檔案中。

下面是乙個簡單的spring專案,包括客戶服務和dao層。讓我們來**手動申明元件和自動掃瞄元件之間的不同。

1、手動宣告元件

看到在 spring 的乙個正常方式來宣告乙個 bean。

dao 層:

package com.ray.customer.dao;

public class customerdao

}

service 層.

package com.ray.customer.service;

import com.ray.customer.dao.customerdao;

public class customerservice

@override

public string tostring()

}

bean配置檔案

<?xml version="1.0" encoding="utf-8"?>

執行程式

public class test 

}

輸出結果

customerservice [customerdao=hello , this is customerdao]
現在,啟用spring元件掃瞄功能。

使用@component注釋來表示這是類是乙個自動掃瞄元件。

@component

public class customerdao

}

dao層,新增@component,表明這也是乙個自動掃瞄元件。

@component

public class customerservice

}

將這個「context:component」在bean配置檔案,這意味著,在 spring 中啟用自動掃瞄功能。base-package 是指明儲存元件,spring將掃瞄該資料夾,並找出bean(註解為@component)並註冊到 spring 容器。

<?xml version="1.0" encoding="utf-8"?>

輸出結果

customerservice [customerdao=hello , this is customerdao]
這是 spring 中的自動掃瞄元件如何工作。

自定義自動掃瞄元件名稱

預設情況下,spring 將小寫部件的第一字元- 從'customerservice'到'customerservice'。可以檢索該元件名稱為「customerservice」。

customerservice cust = (customerservice) context.getbean("customerservice");
要建立元件的自定義名稱,你可以這樣自定義名稱:

@component("aaa")

public class customerservice

}

service 層
@service

public class customerservice

}

Spring 自動掃瞄元件

前面 spring 文章都是使用 xml bean 配置檔案實現 spring 容器檢測並註冊bean類或元件。其實,spring是能夠自動掃瞄,檢測和預定義的專案包並例項化bean,不再有繁瑣的bean類宣告在xml檔案中。現在,啟用spring元件掃瞄功能。使用 component注釋來表示這是...

Spring自動元件掃瞄

通常情況下,在xml bean配置檔案宣告所有的bean類或元件,這樣spring容器可以檢測並註冊bean類或元件。其實,spring是能夠自動掃瞄,檢測和預定義的專案包並例項化bean,不再有繁瑣的bean類宣告在xml檔案中。在bean配置檔案中配置 context component 表親啊...

spring 元件掃瞄

有的時候我們的xml中有過多的配置,很繁瑣,為了簡化配置我們使用context中的元件掃瞄的方式,將一部分類直接交付給spring管理。xml中的配置如下。xmlns xmlns xsi xmlns context xsi schemalocation spring beans.xsd spring...