Spring知識 註解

2021-09-14 02:51:35 字數 1845 閱讀 2885

在bean初始化之後呼叫方法,可以用@postconstruct標識該方法

在bean被銷毀前呼叫該方法,可以用@predestory標識該方法

作用在方法引數上:將之前model中的屬性賦值到引數的屬性中

將方法返回的結果新增到響應體中(不能使用重定向行為 『redirect:/***x』),返回型別為json

該註解宣告的類,將會新增到容器中,可以通過容器獲得

註解宣告的類,將會新增到容器中,可以通過容器獲得。假如在乙個類上面宣告@service,這個類叫做customerservice,那麼通過ref=』customerservice』就可以獲得這個bean

bean的注入,@resource按照名稱(byname)注入

bean的注入,@autowire按照型別注入

補充

@autowired按bytype自動注入,而@resource預設按 byname自動注入罷了(這裡name指的是bean的id)。@resource有兩個屬性是比較重要的,分是name和type,spring將@resource註解的name屬性解析為bean的id,而type屬性則解析為bean的型別。所以如果使用name屬性,則使用byname的自動注入策略,而使用type屬性時則使用bytype自動注入策略。如果既不指定name也不指定type屬性,這時將通過反射機制使用byname自動注入策略。

@resource裝配順序

1. 如果同時指定了name和type,則從spring上下文中找到唯一匹配的bean進行裝配,找不到則丟擲異常

2. 如果指定了name,則從上下文中查詢名稱(id)匹配的bean進行裝配,找不到則丟擲異常

3. 如果指定了type,則從上下文中找到型別匹配的唯一bean進行裝配,找不到或者找到多個,都會丟擲異常

4. 如果既沒有指定name,又沒有指定type,則自動按照byname方式進行裝配;如果沒有匹配,則則按照型別進行匹配,如果匹配則自動裝配;

定義乙個控制器類的bean

a、現在有uri模板/test/,假如請求url為/test/hello,該url跟模板相匹配,就把替換成hello

b、@pathvariable:標記乙個方法引數,該引數的值將使用uri模板中對應的變數的值來賦值

3、屬性:

b、consumes : 可以指定提交資料的型別

c、value : 指定url

d、method : 指定http請求方法(如requestmethod.post)

定義乙個註解: @inte***ce name {}

該註解的保留級別(該註解在什麼時候是可見的)

設定註解的使用範圍

該如果乙個註解被用在a類上,b類繼承a類,b類自動繼承父類的這個註解
@value可以讀取配置檔案屬性的值(包括配置中心的檔案)

``````

定義了這個註解的方法,當前類的異常都會被這個方法捕獲

詳細見:

1、使用@controller註解,必須新增配置:

`

`

2、載入spring配置檔案的方式:

dispatcher

org.springframework.web.servlet.dispatcherservlet

1/

contextconfiglocation

org.springframework.web.context.contextloaderlistener

參考:

Spring註解 Import註解

常用的匯入註解分類 註冊自己寫的類service dao controller可用包掃瞄 元件標註註解 controller service repository component bean 匯入的第三方包裡面的元件 import 快速給容器中匯入乙個元件 1 import 要匯入到容器中的元件 ...

spring註解之 Scope註解

1,scope註解是什麼 scope註解是springioc容器中的乙個作用域,在 spring ioc 容器中具有以下幾種作用域 基本作用域singleton 單例 prototype 多例 web 作用域 reqeust session globalsession 自定義作用域 a.single...

spring註解之 value註解

首先在xml中定義乙個bean如下 把對應的引數以property中value的形式注入 測試 如下 根據bean id獲取bean物件 system.out.println bean 執行結果如下 可以發現已經獲取到xml中配置的屬性了 user username zhangsan,age 26 ...