以下注解中,表示如果开发者没有提供JdbcOperations,则Spring Boot会自动向容器中注入一个JdbcOperations的是( D ) A、@ConditionalOnSingleCondidate(JdbcOperations.class) B、@ConditionalOnClass(JdbcOperations.class) C、@ConditionalOnMissingBean(JdbcOperations.class) D@EnableConfigurationProPerties(JdbcOperations.class)
理解问题以下注解中,表示如果开发者没有提供JdbcOperations,则Spring Boot会自动向容器中注入一个JdbcOperations的是( D ) A、@ConditionalOnSingleCondidate(JdbcOperations.class) B、@ConditionalOnClass(JdbcOperations.class) C、@ConditionalOnMissingBean(JdbcOperations.class) D@EnableConfigurationProPerties(JdbcOperations.class)
已完成理解「以下注解中,表示如果开发者没有提供JdbcOperations,则Spring Boot会自动向容器中注入一个JdbcOperations的是( D ) A、@ConditionalOnSingleCondidate(JdbcOperations.class) B、@ConditionalOnClass(JdbcOperations.class) C、@ConditionalOnMissingBean(JdbcOperations.class) D@EnableConfigurationProPerties(JdbcOperations.class)」
展开阅读网页
正确答案是 C、@ConditionalOnMissingBean(JdbcOperations.class)。
@ConditionalOnMissingBean 注解是 Spring 中用于条件注册 Bean 的一种方式。它的作用是在项目启动时,Spring 容器会检查是否已经存在指定类型的 Bean。如果不存在,那么使用 @ConditionalOnMissingBean 注解的 Bean 就会被注册到容器中。如果已经存在,则不会注册。这个注解通常用在 @Bean 定义上,确保在没有开发者自定义的 Bean 时,提供一个默认的实现2。
选项 A、@ConditionalOnSingleCandidate(JdbcOperations.class) 表示如果存在且仅存在一个候选的 Bean 时,才会注册该 Bean。选项 B、@ConditionalOnClass(JdbcOperations.class) 表示如果类路径下存在指定的类,则注册该 Bean。选项 D、@EnableConfigurationProperties(JdbcOperations.class) 用于启用配置属性,与条件注册 Bean 无关48。
因此,如果开发者没有提供 JdbcOperations,Spring Boot 会自动向容器中注入一个 JdbcOperations,应该使用 @ConditionalOnMissingBean(JdbcOperations.class)。7