开发者

Springboot3.4.x中的@Bean使用案例

目录
  • 前言
  • defaultCandidate字段使用
  • 总结

前言

Springboot3.4.x版本中的@Bean新增一个字段defaultCandidate = false,当类型匹配时,基于 Bean 的条件现在将忽略任何不是默认候选者的 Bean

defaultCandidate字段使用

1、 定义一个接口

public interface UserService {

    void add();
}

2、定义一个接口

@Slf4j
public class PersonServiceImpl imjavascriptplements UserService {
    @Override
    public void add() {
        log.info("测试1=============");
    }
}

3、定义一个接口

@Slf4j
public class UserServiceImpl implements UserService {
    @pythonOverride
    public void add() {
        log.info("测试=============");
    }
}

4、使用@Bean

@Configuration
public class UserServiceConfig {

    @Bean
    public UserService add()编程客栈 {
        return new UserServijsceImpl();
    }

    @Bean(defaultCandidate = false)
    public UserService add1() {
        return new PersonServiceImpl();
    }
}

5、定义一个接口

www.devze.com
@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使用案例

只实例化一个

总结

Springboot3.4.x中的@Bean中的defaultCandidate = false,如果存在相同类型的 bean,它就会被忽略

到此这篇关于Springboot3.4.x中的@Bean使用案例的文章就介绍到这了,更多相关Springboot3.4.x @Bean使用内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜