每天註解學習(四)配置類中常用註解

2021-09-05 09:58:11 字數 2234 閱讀 4483

@data(set/get方法)

@enablecaching

(1)@enablecaching註解是spring framework中的註解驅動的快取管理功能。自spring版本3.1起加入了該註解。如果你使用了這個註解,那麼你就不需要在xml檔案中配置cache manager了

(2)當你在配置類(@configuration)上使用@enablecaching註解時,會觸發乙個post processor,這會掃瞄每乙個spring bean,檢視是否已經存在註解對應的快取。如果找到了,就會自動建立乙個**攔截方法呼叫,使用快取的bean執行。

配置類中使用的註解:

解釋:

@configuration標註在類上,相當於把該類作為spring的xml配置檔案中的,作用為:配置spring容器(應用上下文)

@configuration

public class testconfiguration

}

等同於xml檔案如下:

<?xml version="1.0" encoding="utf-8"?>

@bean標註在方法上(返回某個例項的方法),等價於spring的xml配置檔案中的,作用為:註冊bean物件:

@bean

public string message()

等同於:
@component是spring容器中的基本註解,表示容器中的乙個元件(bean),可以作用在任何層次,下面的示例介紹該註解的使用方法。

註解配置示例:

@component("userdao")

public class userdao

等於xml:

用於宣告kafka配置

@configuration

@enablekafka

public class kafkaconsumerconfig ")

private string brokers;

@value("$")

private string group;

@value("$")

private string keytype;

@value("$")

private string valuetype;

@bean

public kafkalistenercontaine***ctory> kafkalistenercontaine***ctory()

@bean

public kafkalisteners kafkalisteners()

@override

public int hashcode()

@override

public string tostring()

@override

public class<? extends annotation> annotationtype()

@override

public kafkalistener value() };}

public consume***ctoryconsume***ctory()

}

自動配置

@repository註解便屬於最先引入的一批,用於將資料訪問層(dao層)的類標識為spring bean。具體使用如下:

①首先使用@repository將dao類宣告為bean

@repository

public class userdaoimpl implements userdao

②在xml配置檔案中啟動spring的自動掃瞄功能

......

總結:註解@configuration相當於包,而其他註解就像是乙個個元件,放入包中,達到配置目的

基於註解的IOC配置中常用的註解

作用 指定當前類是乙個配置類 該註解可以不寫作用 用於通過註解指定spring在建立容器時要掃瞄的包 屬性 value 它和basepackages的作用是一樣的,都是用於指定建立容器時 要掃瞄的包。我們使用此註解,就等同於在xml中配置了 作用 用於把當前方法的返回值作為bean物件存入sprin...

Spring中常用註解

註解的好處在於大大的減少了人們開發的程式設計量,提高了程式設計效率,那麼下面就接受經常用到的一些註解及其含義等。componentscan 元件掃瞄,可自動發現和裝配一些bean。component可配合commandlinerunner使用,在程式啟動後執行一些基礎任務。restcontrolle...

Mybatis中常用註解

select employee id,employee name,employee password,employee age,department id from employee where employee id select employee id,employee name,employe...