当前位置: 首页 > 知识库问答 >
问题:

java - spring的配置类没有import为什么能使@bean生效?

易弘亮
2023-11-01

https://www.bilibili.com/video/BV1TP411v7v6?p=37&vd_source=87...
这个视频开头,有个配置类里面有@bean方法,这种是导入第三方bean的方式哦。但这里的配置类不是没有import吗,为什么这个@bean能生效哦

共有2个答案

陆俭
2023-11-01

因为它的类上有@Configuration注解呀,这声明了它是一个配置类,spring会自己扫描这个配置类里面使用@bean注解返回一个对象的方法,往spring容器里注入bean

林英武
2023-11-01

这个问题涉及到 Spring 的组件扫描和配置类的基本知识。

在 Spring 中,当你在 Spring 配置类上使用 @Configuration 注解时,Spring 会自动扫描该类所在的包以及子包中的所有类。这使得 Spring 能够找到并创建配置类中的 @Bean 方法所定义的组件。

在视频中,尽管配置类没有使用 import 语句引入第三方 Bean,但是 Spring 的组件扫描功能会扫描该类所在的包以及子包,并自动注册所有符合条件的 Bean。因此,在配置类中定义的 @Bean 方法仍然能够生效。

此外,如果需要引入第三方 Bean,通常可以通过在配置类上使用 @Import 注解或通过组件扫描来引入。在这种情况下,Spring 会根据指定的类路径或包路径来扫描和加载第三方 Bean。

总之,Spring 的组件扫描功能使得 Spring 能够自动发现和注册配置类中定义的 Bean,而无需显式使用 import 语句引入第三方 Bean。

 类似资料:
  • 只有这一个地方配置了 8001 端口。 打算是通过访问 http://localhost:8001/about/ 打开 html 目录下的 about.html 的,但是返回 403 错误。如果是访问 http://localhost:8001/ 会返回 html 目录下的 index.html 文件 如果注释了这里的配置,那么 http://localhost:8001/ 是无法访问的。也就是配

  • 我想用springboot和Mongo数据库对话。 它使用spring-boot-starter-data-mongoDB并自动配置默认bean,这确实允许我的MongoRepository类与DB进行对话。 但是,我想重写默认值。我可以使用application.properties,但我需要能够在应用程序启动时将连接参数作为选项在命令行上传递。 我已经尝试改变端口以破坏它,我已经将debug添

  • 问题内容: 一些初始信息:我的计算机上装有Windows 10,所有程序均为64位版本。 我正在使用tkinter在python(3.6.1)中编写一个游戏,现在我想将其转换为.exe。我使用了cx_freeze(5.0.1)并进行了构建,但是当我尝试打开游戏时,会打开一个窗口,然后立即关闭。因此,我尝试通过cmd打开它,并弹出以下错误: 我已经检查了tkinter支持,如下所示:https :

  • 这个问题解决了。请看下面的核对答案。 注入点有以下注释:-@org.springframework.beans.factory.annotation.autowired(required=true) 行动: 考虑在您的配置中定义一个类型为'DAO.UserRepository'的bean。 进程结束,退出代码为%1

  • 但是,我在spring-boot文档中发现了以下内容。https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-configuration-classes.html 它赞成使用Java配置而不是XML配置。Java配置中的更改需要重新编译。然而,这让我想到为什么文档偏爱Java配置。 Internet上已经发

  • 我按照文档(http://docs.spring.io/spring/docs/4.0.x/spring-framework-reference/html/validation.html)中给出的内容配置了JSR-303自定义验证器,在类路径上使用LocalValidatorFactoryBean和Hibernate验证器完成。但是,我的验证器只是拒绝启动。我在这里(https://github.