Annotation(三) Spring註解開發

2021-06-21 07:43:35 字數 2764 閱讀 2129

spring

框架的核心功能

ioc(inversion of control)

,也就是通過

spring

容器進行物件的管理,以及物件之間組合關係的對映。通常情況下我們會在

xml配置檔案中進行

action

,service,dao

等層的宣告,然後並告知框架我們想要的注入方式,然後在類中宣告要組合類的

get,

set方法。而通過

spring

框架中註解的運用也就主要是解決這類問題的。而框架中另乙個核心知識

aop,

一種面向橫切面的方法程式設計,在程式中一般都是進行一次設定就可以的,所以都還放在配置檔案中。例如宣告式事物的設定,一次設定,後邊我就不用管了,所以這個沒有必要使用註解進行簡化。因為工作量都差不多。好了,看一下在

spring

中如何使用註解進行開發吧!

一,首先需要在配置檔案中增加命名空間的和約束檔案:

二,開啟

spring

的註解功能,這樣

spring

環境才會進行指定位置的掃瞄,進行類之間的關聯組合:

三,宣告註解類,讓

spring

框架可以識別: 1

,類的分層註解,由於我們後台開發都是分為三層進行開發的,所以

spring

框架提供了三種對於不同層的註解方式:

控制層:

@controller

服務層:

@service

持久層:

@repository

類似於我們配置檔案中的:

預設情況下使用註解宣告的bean物件id名稱為:類名稱的首字母小寫,一般不需要我們進行設定,如果想要設定時,例如我們指定的是實現類,而名字指向了介面,直接新增

value

屬性即可:@service(

value

="name"),當然

value

是可以省略的。

spring

框架還為我們提供了代替上邊三個分層註解的通用註解:

@com

ponent.

當然提倡大家使用分層註解更好一些,區分層次比較明確。 2

,自動裝配功能的實現物件之間的組合關係,在屬性前邊指定下邊的註解:

@autowired : 採用型別的方式完成自動裝配 : bytype

@resource : 採用名稱+型別的方式完成自動裝配 : byname +bytype,此種方法推薦使用。 另外

spring

提供的兩種註解的自動裝配功能,屬性不需要宣告

set,get

方法也可以完成組合功能,這是非常方便的。 3

,在宣告

action

時,需要指定其為多例的,解決執行緒安全的問題,在配置檔案中我們通常會這樣宣告

action

的類:

而在spring

註解開發中也提供了類似的屬性來解決此問題,在

action

類前邊設定如下:

@scope("prototype")

4,利用配置檔案宣告

dao層類時,通常是這樣的:

而,註解開發的方法如何進行

session

factory

的注入呢?由於

dao層繼承了父類hibernatedaosupport,而在父類中有這樣乙個方法:

//父類中的sessionfactory的set注入方法

public final void setsessionfactory(sessionfactory sessionfactory)

}

這是session

factory

的set

注入方法,所以如果我們能夠重寫此方法,在此方法上進行

@resource

註解,即可解決我們的問題,但是可以看到此方法是用

final

進行修飾的,所以通常情況下,我們採用下邊的這種方法進行解決:

@repository("orgdao")

public class orgdaoimpl extends hibernatedaosupport implements orgdao

}

這樣,dao

層的session

factory

就進行了注入,我們可以正常編寫我們的

dao層**了。當然了對於

dao層如果我們使用了

ibatis

,同樣可以使用這種方法進行

ibatis

核心物件

sqlmapclient

的注入。

綜上,為

spring

框架的註解開發常用註解,總體感覺還是比較簡單,最起碼相對其它兩個框架而言,主要是通過註解完成物件的管理,和物件之間的組合,即

spring

的ioc

功能。註解的開發還是能大大提高我們的開發效率的,但是還是那句話,它在一定程度上違背了

ocp原則,所以大力推薦使用註解的開發的前提還是我們的需求比較固定,變動較小。

Spring基礎之三 annotation配置注入

用annotation配置只在源 相應的地方加入annotation即可,xml就不用再來回來去改了,開發時候快,不過我覺得沒xml清楚。其中這兩句是新加且必須的,新加了乙個命名空間 xml的namespacexmlns context 其實annotation全寫對了的話,配置檔案就是最上邊那樣了...

Annotation(三) Spring註解開發

spring框架的核心功能ioc inversion of control 也就是通過spring容器進行物件的管理,以及物件之間組合關係的對映。通常情況下我們會在xml配置檔案中進行action,service,dao等層的宣告,然後並告知框架我們想要的注入方式,然後在類中宣告要組合類的get,s...

SSH三大框架之 annotation之我見

關於annotation annotation說白了就是代替之前用的map對映檔案,反映射關係放到了model類裡面。這裡說明五種情況 以student的model類為例 第一種是id號 例如 student的id號 第二種是普通的字段 例如 student的姓名name 第三種是牽扯到兩個表的ma...