spring之在classpath中掃瞄元件 2

2021-08-31 14:34:39 字數 1616 閱讀 4076

spring之在classpath中掃瞄元件(2)

自動掃瞄元件

spring2.5提供了強大的元件掃瞄特性,它能夠從classpath裡自動掃瞄、偵測和例項化元件。預設情況下,spring能夠偵測到所有具有特定註解的元件。基本的註解型別是@component,它標識了乙個受spring管理的元件。

如例,可以在sequencedaoimpl類裡使用該註解。

package com.apress.springrecipes.sequence;

import org.springframework.stereotype.component;

@component

public class sequencedaoimpl implements sequencedao

如例,同樣,也可以為sequenceservice類加上該註解,這樣spring就會自動偵測到它。另外,給它的dao欄位加上@autowired註解,這樣spring會根據型別自動裝配該屬性。

package com.apress.springrecipes.sequence;

import org.springframework.beans.factory.annotation.autowired;

import org.springframework.stereotype.component;

@component

public class sequenceservice

當在元件類上使用了該特定註解之後,可以宣告單獨的xml元素---,讓spring掃瞄這些元件。在這個元素裡,需要為元件掃瞄指定包。指定完畢後,spring將掃瞄被指定的包以及它所有的子包。當存在多個需要掃瞄的包時,可以使用逗號分隔它們。

請注意,這個元素還會註冊乙個autowiredannotationbeanpostprocessor例項,該例項能夠自動裝配具有

@autowired註解的屬性。

...

@component註解標識了一般用途的元件,實際上,還存在其他特定的註解,這些註解用於標識位於不同層中的元件。首先,@repostiory標識了處於持久層中的dao元件。

package com.apress.springrecipes.sequence;

import org.springframework.stereotype.repository;

@repository

public class sequencedaoimpl implements sequencedao

接下來,@service標識了處於服務層的服務元件。

package com.apress.springrecipes.sequence;

import org.springframework.beans.factory.annotation.autowired;

import org.springframework.stereotype.service;

@service

public class sequenceservice

另外還有乙個@controller註解,標識了處於表現層的控制器元件。 

spring之在classpath中掃瞄元件 1

spring之在classpath中掃瞄元件 1 要使spring ioc容器能夠管理元件,需要在bean配置檔案裡逐一宣告它們。但是,如果spring能夠不用手工配置,自動偵測到這些元件,那將節省很多任務作。spring2.5提供了乙個強大的特性,這個特性稱為元件掃瞄。它能夠從classpath裡...

公司原始碼分析之在spring配置檔案中使用長字串

今天開公司的 時看到在配置檔案裡有如下內容 可以看到mailtemplate的value不是常規的bean或短字串,而是由 cdata 括起來的一段很長的字串。中間還有些佔位符 使用方法如下 string htmlbody mailtemplate htmlbody stringutils.repl...

過年之 在家

1 選用規格規範的正規廠家生產的防盜門,獨自在家時關好門。2 睡覺前應將窗簾拉上,如發現有可疑人物在屋外徘徊,打110報警。3 如果有外人使用過房門鑰匙,安全起見,應該換鎖。不要隨便將房門鑰匙交給鐘點工或其他陌生人,防止他們配鑰匙。4 在遇到陌生人送花 送貨 送郵件 抄表等要求開門時,要多加小心,在...