spring 条件注入
时间: 2023-07-12 10:43:41 浏览: 59
Spring 条件注入(Conditional Injection)是指在满足指定条件的情况下,才会将某个 Bean 注入到容器中。主要有两种方式实现条件注入:
1. 使用 @Conditional 注解,可以根据满足某个条件来决定是否注入某个 Bean。例如:
```java
@Configuration
public class AppConfig {
@Bean
@Conditional(MyCondition.class)
public MyBean myBean() {
return new MyBean();
}
}
```
上述代码中,只有当 MyCondition 类的 matches() 方法返回 true 时,才会将 MyBean 注入到容器中。
2. 实现 Condition 接口,自定义条件判断逻辑。例如:
```java
public class MyCondition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
// 判断满足某个条件
return true;
}
}
```
上述代码中,实现了 Condition 接口的 MyCondition 类,可以在 matches() 方法中根据特定条件进行判断,返回 true 或 false,从而决定是否注入某个 Bean。在 @Conditional 注解中使用 MyCondition.class 即可实现条件注入。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)