SpringBoot底層註解

2021-10-19 12:19:40 字數 1925 閱讀 1040

1. @configuration

基本使用

package com.marchsoft.boot.config;

import com.marchsoft.boot.bean.pet;

import com.marchsoft.boot.bean.user;

import org.springframework.context.annotation.bean;

import org.springframework.context.annotation.configuration;

/** * 1、配置類裡面使用@bean標註在方法上給容器註冊元件,預設也是單例項的

* 2、配置類本身也是元件

* 3、proxybeanmethods:**bean的方法

*/@configuration(proxybeanmethods = true)//告訴springboot這是乙個配置類等同於配置檔案

public class myconfig

@bean(name = "benben")

public pet tomcatpet()

}

當上面**中的proxybeanmethods值為true時
user user01 = run.getbean("user01",user.class);

pet tom = run.getbean("benben",pet.class);

system.out.println("寵物"+(user01.getpet() == tom));

輸出的結果為true,為false則輸出的為false

* proxybeanmethods的屬性值為true時,它會在容器中載入是否有該元件,如果有則直接呼叫,如果沒有再建立

* proxybeanmethods的屬性值為false時,不管容器中是否有對應的元件,都不會去呼叫,而是直接建立。

2. @bean

基本使用:給容器中新增元件。以方法名為元件的id。返回值型別是元件型別,返回的值,就是元件的容器中的例項。說白了就是將實體類進行例項化,然後交給springboot來管理。

@bean//給容器中新增元件。以方法名作為組建的id。返回值型別是元件型別。返回的值,就是元件在容器中的例項

public user user01()

@bean(name = "benben")

public pet tomcatpet()

3. 一些其他註解

4. @import

基本用法:@import()給容器中自動建立出這兩個型別元件、預設元件的名字就是全類名

@import()

@configuration(proxybeanmethods = false)//告訴springboot這是乙個配置類等同於配置檔案

public class myconfig

@bean(name = "benben")

public pet tomcatpet()

}

5. @conditional

基本用法:滿足conditional指定條件,則進行元件注入

6. @importresource

基本用法:此註解新增在配置類上面,用來匯入原spring中xml配置檔案

@importresource("classpath:bean.xml")

7. @component+@configurationproperties

基本用法:這兩個註解是加在實體類上面的其中第乙個註解就是將該實體類加入容器中,第二個註解就是將配置檔案中的對應屬性的值賦值給此實體類中對應屬性的值。

8. @enableconfigurationproperties + @configurationproperties

Configuration等底層註解

一般會基本使用 知曉 full模式與lite模式 最佳實戰主要有如下兩點 配置 類元件之間無依賴關係用lite模式加速容器啟動過程,減少判斷 配置類元件之間有依賴關係,方法會被呼叫得到之前單例項元件,用full模式 1 配置類裡面使用 bean標註在方法上給容器註冊元件,預設也是單例項的 2 配置類...

底層註解 Configuration詳解

首先給出專案的目錄結構,其中需要注入的元件是user類和pet類。張三 property name userage value 25 property bean pet01 class com.hpf.boot.bean.pet name petype value 湯姆貓 property bean...

springboot 註解總結

springboot註解知識點歸納 當實現rest ful web services時,response將一直通過response body傳送。controller 用於定義控制器類,在spring 專案中由控制器負責將使用者發來的url請求 到對應的服務介面 service層 restcontr...