Spring常用註解詳解

2021-08-21 15:03:48 字數 3728 閱讀 2249

三、@enableautoconfiguration

四、@component

五、@restcontroller

六、@controller

七、@responsebody

八、@autowired

九、@pathvariable

原始碼:

@retention(value=runtime)

@target(value=type)

@documented

@repeatable(value=componentscans.class)

public @inte***ce componentscan

@componentscan(basepackages=)
@componentscan(basepackageclasses=)
protected string builddefaultbeanname(beandefinition definition)
package com.fullexception.util;

import org.springframework.beans.factory.config.beandefinition;

import org.springframework.context.annotation.annotationbeannamegenerator;

public class aimeeannotationbeannamegenerator extends annotationbeannamegenerator

}

@componentscan(namegenerator=aimeeannotationbeannamegenerator.class)

@componentscan(lazyinit=true)

@componentscan(usedefaultfilters=false)

@target(value=type)

@retention(value=runtime)

@documented

@inherited

@springbootconfiguration

@enableautoconfiguration

@componentscan(excludefilters=)

@target(value=type)

@retention(value=runtime)

@documented

@inherited

@autoconfigurationpackage

@import(value=autoconfigurationimportselector.class)

public @inte***ce enableautoconfiguration

@target(value=type)

@retention(value=runtime)

@documented

@indexed

public @inte***ce component

@target(value=type)

@retention(value=runtime)

@documented

@controller

@responsebody

public @inte***ce restcontroller

@target(value=type)

@retention(value=runtime)

@documented

@component

public @inte***ce controller

@target(value=)

@retention(value=runtime)

@documented

public @inte***ce responsebody

@target(value=)

@retention(value=runtime)

@documented

public @inte***ce autowired

public inte***ce userservice
@service("userservice")

public class userserviceimpl implements userservice

}

@controller

public class usercontroller

@service("userservice1")

public class userserviceimpl1 implements userservice

}

field userservice2 in com.fullexception.controller.usercontroller required a single bean, but 2 were found:

- userservice: defined in file [d:\users\administrator\documents\workspace-sts-3.8.4.release\alicia_do\target\classes\com\fullexception\service\serviceimpl\userserviceimpl.class]

- userservice1: defined in file [d:\users\administrator\documents\workspace-sts-3.8.4.release\alicia_do\target\classes\com\fullexception\service\serviceimpl\userserviceimpl1.class]

-我們可以看到錯誤提示資訊,顯然系統想通過名稱去對比,但是沒有發現目標,因此提示型別符合的有兩條,但是名稱userservice2和userservice、userservice1對應不上。由此可見,多個實現採用的是比對名稱的方式。

@pathvariable("id")感謝閱讀:

本文原始碼及部分說明來自spring.io

Spring 註解詳解

使用註解來構造ioc容器 在base package指明乙個包 表明com.om包及其子包中,如果某個類的頭上帶有特定的註解 component repository service controller 就會將這個物件作為bean註冊進spring容器。1 component component是...

Spring 註解詳解

當我們的專案越來越複雜時 配置檔案也會變得複雜 這樣不僅影響開發效率 還影響錯誤查詢 因此 spring 提供了註解方式開配置bean 使用註解需要準備工作 1.匯入 spring架包 2.引入約束檔案 context檔案 3.開啟掃瞄註解 常用註解 component 給user類加上該註解就等同...

Spring 註解詳解

概述 注釋配置相對於 xml 配置具有很多的優勢 因此在很多情況下,注釋配置比 xml 配置更受歡迎,注釋配置有進一步流行的趨勢。spring 2.5 的一大增強就是引入了很多注釋類,現在您已經可以使用注釋配置完成大部分 xml 配置的功能。在這篇文章裡,我們將向您講述使用注釋進行 bean 定義和...