我先簡單的說一下為什麼我要將這兩個知識點放一起:因為他們都涉及到了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註解...