Springboot3.4.x中的@Bean使用案例
前言
Springboot3.4.x版本中的@Bean新增一个字段defaultCandidate = false,当类型匹配时,基于 Bean 的条件现在将忽略任何不是默认候选者的 Bean
defaultCandidate字段使用
1、 定义一个接口
public interface UserService {
void add();
}
2、定义一个接口
@Slf4j
public class PersonServiceImpl implements UserService {
@Override
public void add() {
log.info("测试1=============");
}
}
3、定义一个接口
@Slf4j
public class UserServiceImpl implements UserService {
@Override
public void add() {
log.info("测试=============");
}
}
4、使用@Bean
@Configuration
public class UserServiceConfig {
@Bean
public UserService add() {
return new UserServiceImpl();
}
@Bean(defaultCandidate = false)
public UserService add1() {
return new PersonServiceImpl();
}
}
5、定义一个接口
@Slf4j
@RestController
public class IndexController {
@Autowired
private List<UserService> userServiceList;
@GetMapping("/hello")
public String hello() {
log.info("数据为:{{}}", userServiceList);
return "success";
}
}
访问地址
http://ip:端口/hello
输出结果为

只实例化一个
总结
Springboot3.4.x中的@Bean中的defaultCandidate = false,如果存在相同类型的 bean,它就会被忽略
到此这篇关于Springboot3.4.x中的@Bean使用案例的文章就介绍到这了,更多相关Springboot3.4.x @Bean使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springcloud检索中间件 ElasticSearch 分布式场景的使用
单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题,本文重点给大家介绍springcloud检索中间件 ElasticSearch 分布式场景的运用,感兴趣的朋友跟随小编一起看看吧2023-10-10
SpringCloud中的熔断监控HystrixDashboard和Turbine示例详解
HystrixDashboard是用于实时监控Hystrix性能的工具,展示请求响应时间和成功率等数据,本文介绍了如何配置和使用HystrixDashboard和Turbine进行熔断监控,包括依赖添加、启动类配置和测试流程,感兴趣的朋友一起看看吧2024-09-09
SpringBoot使用ApplicationEvent&Listener完成业务解耦
这篇文章主要介绍了SpringBoot使用ApplicationEvent&Listener完成业务解耦示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-05-05


最新评论