springboot启动指定bean排除
时间: 2023-12-12 13:54:25 浏览: 100
在Spring Boot中,可以使用`@Conditional`注解来控制Bean的创建。可以使用该注解的`OnBeanCondition`属性来指定需要排除的Bean。
以下是一个示例代码:
```java
@Configuration
public class MyConfig {
@Bean
public MyBean myBean() {
return new MyBean();
}
@Bean
@ConditionalOnBean(name = "myBean", value = MyBean.class)
public MyOtherBean myOtherBean() {
return new MyOtherBean();
}
@Bean
@ConditionalOnMissingBean(name = "myOtherBean", value = MyOtherBean.class)
public MyThirdBean myThirdBean() {
return new MyThirdBean();
}
}
```
在上面的示例中,`MyConfig`类中定义了三个Bean:`MyBean`、`MyOtherBean`和`MyThirdBean`。`MyOtherBean`的创建依赖于`MyBean`,因此使用了`@ConditionalOnBean`注解来控制其创建。而`MyThirdBean`是一个备选Bean,当`MyOtherBean`不存在时才会被创建。这里使用了`@ConditionalOnMissingBean`注解来控制其创建。
如果需要排除某个Bean,可以使用`exclude`属性来指定需要排除的Bean,例如:
```java
@SpringBootApplication(exclude = { MyBean.class })
public class MyApp {
// ...
}
```
在上面的示例中,排除了`MyBean`,因此它不会被创建。
阅读全文