Spring條件註解以及環境切換問題

2021-10-08 09:56:19 字數 1882 閱讀 6037

我先簡單的說一下為什麼我要將這兩個知識點放一起:因為他們都涉及到了jvm引數問題。

一、條件註解的實現方法@conditional

如下的ioc容器:由於@bean註解後沒有加東西,所以下面的兩個bean的id都為car,究竟得到哪個bean就取決於@conditional註解括號裡的東西!

@configuration

public

class

myconfig

@bean

@conditional

(energycarcondition.

class

)//條件註解 使用時需在run edit_configuration 中配置vm引數

public car energycar()

}

下面編寫oilcarcondition.class和energycarcondition.class

package condition;

import org.springframework.context.annotation.condition;

import org.springframework.context.annotation.conditioncontext;

import org.springframework.core.env.environment;

import org.springframework.core.type.annotatedtypemetadata;

public

class

oilcarcondition

implements

condition

}

package condition;

import org.springframework.context.annotation.condition;

import org.springframework.context.annotation.conditioncontext;

import org.springframework.core.env.environment;

import org.springframework.core.type.annotatedtypemetadata;

public

class

energycarcondition

implements

condition

}

接下來需要指定jvm引數:

-dcar.type=energy 能源車

-dcar.type=oil 煤油車

二、環境切換問題@profile

ioc容器如下:

@configuration

public

class

myconfig

@profile

("mybanana"

)@bean

("banana"

)public fruit banana()

}

package entity;

}

package entity;

public class banana extends fruit

還可以通過硬編碼方式制定環境
public

static

void

textannotation()

Spring 條件註解(conditional)

spring 的條件註解在於 根據滿足某乙個特定條件建立乙個特定的bean 例如,當某個jar 包在乙個類的路徑下,自動配置乙個或多個bean 或者只有某個bean 被建立才會建立另外乙個bean 總的來說,就是通過特定的條件來控制bean 的建立行為。主要是實現為兩步 首先 實現 conditio...

Spring高階話題 條件註解

一 什麼是條件註解根據特定的條件來控制bean的建立行為 使用到的註解 conditional 二 如何使用條件註解通過實現condition介面並重寫matches方法 構造判斷條件 來實現乙個條件判斷類 在配置bean時使用 conditional註解,並指定條件判斷類,實現有條件地建立bean...

Spring的IOC註解以及DI註解注入總結

一 ioc註解 1.多spring配置檔案的使用 2.使用xml配置進行配置 推薦使用xml配置加註解組合使用 第一步 要使用註解,需匯入aop包 第二步 在配置檔案頭部加入context的schema 第三步 使用註解,component 註解 3.實用配置類進行配置 一 1.不使用 bean註解...