spring註解總結

2021-08-27 14:01:29 字數 2460 閱讀 6377

2.通過@requestbody可以將請求體中的json字串繫結到相應的bean上,當然,也可以將其分別繫結到對應的字串上。

都是eureka註冊中心的兩種註解,@enableeurekaclient註解是@enablediscoveryclient的實現

@order註解主要用來控制配置類的載入順序 

/**

* 初始化啟動類

*/@component

@order(value = 1)

@resource

private idynamictask dynamictaskimpl;

@override

dynamictaskimpl.initorrecheckschedulejob();

}}

value屬性越小,優先順序越高(越先載入)

定時任務在配置類上新增@enablescheduling開啟對定時任務的支援,在相應的方法上新增@scheduled宣告需要執行的定時任務。 

其中scheduled註解中有以下幾個引數:

cron

zone

fixeddelay和fixeddelaystring

fixedrate和fixedratestring

initialdelay和initialdelaystring

1.cron是設定定時執行的表示式,如 0 0/5 * * * ?每隔五分鐘執行一次

2.zone表示執行時間的時區

3.fixeddelay 和fixeddelaystring 表示乙個固定延遲時間執行,上個任務完成後,延遲多長時間執行

4.fixedrate 和fixedratestring表示乙個固定頻率執行,上個任務開始後,多長時間後開始執行

5.initialdelay 和initialdelaystring表示乙個初始延遲時間,第一次被呼叫前延遲的時間

當設定為prototype時:每次連線請求,都會生成乙個bean例項,也會導致乙個問題,當請求數越多,效能會降低,因為建立的例項,導致gc頻繁,gc時長增加。

設定為單例模式:保證了全域性都會有乙個例項,對效能有所提高,但是如果例項中有非靜態變數時,會導致執行緒安全問題,共享資源的競爭。

預設是單例模式,即scope="singleton"。另外scope還有prototype、request、session、global session作用域。scope="prototype"多例

@scope預設是單例模式(singleton)

如果需要設定的話@scope("prototype")

1.singleton單例模式,

全域性有且僅有乙個例項

2.prototype原型模式,

每次獲取bean的時候會有乙個新的例項

3.request

request表示該針對每一次http請求都會產生乙個新的bean,同時該bean僅在當前http request內有效,配置例項:

request、session、global session使用的時候首先要在初始化web的web.xml中做如下配置:

如果你使用的是servlet 2.4及以上的web容器,那麼你僅需要在web應用的xml宣告檔案web.xml中增加下述contextlistener即可: 

4.session

session作用域表示該針對每一次http請求都會產生乙個新的bean,同時該bean僅在當前http session內有效

5.global session

global session作用域類似於標準的http session作用域,不過它僅僅在基於portlet的web應用中才有意義。portlet規範定義了全域性session的概念,它被所有構成某個 portlet web應用的各種不同的portlet所共享。在global session作用域中定義的bean被限定於全域性portlet session的生命週期範圍內。如果你在web中使用global session作用域來標識bean,那麼web會自動當成session型別來使用。

使用http請求遠端服務

參考**:

fastjson中的註解@jsonfield,一般作用在get/set方法上面,常用的使用場景有下面三個:
參考**:

@restcontroller註解相當於@responsebody + @controller合在一起的作用。

1) 如果只是使用@restcontroller註解controller,則controller中的方法無法返回jsp頁面,或者html,配置的視**析器 internalresourceviewresolver不起作用,返回的內容就是return 裡的內容。

2) 如果需要返回到指定頁面,則需要用 @controller配合視**析器internalresourceviewresolver才行。

如果需要返回json,xml或自定義mediatype內容到頁面,則需要在對應的方法上加上@responsebody註解。

參考:

Spring註解總結

一 前言 spring3x開始增加了很多的註解,註解與 配合,能極大減少xml配置資訊,提公升了開發效率以及 美觀度。我沒有看完整的spring3x的文件,沒時間整理全部的註解。這下面只說說最常用的幾類。記錄就是最好的成長,自己mark一下,以後自己用得到。二 註解例項 一般來說,我們的 分為con...

Spring 註解總結

service用於標註業務層元件 controller用於標註控制層元件 如struts中的action repository用於標註資料訪問元件,即dao元件 component泛指元件,當元件不好歸類的時候,我們可以使用這個註解進行標註。repository的作用 repository用於標註資...

Spring註解總結

2 springboottest 註解用於告訴spring框架,此測試類交給spring管理。springboot專案中所有的單元測試類都使用 springboottest註解進行描述。3 autowired註解描述屬性時,用於告訴spring框架要為此屬性注入乙個值。4 scope 是spring...