Java @Configuration*在Spring Boot中的真正含义是什么?

Java @Configuration*在Spring Boot中的真正含义是什么?,java,spring,spring-boot,Java,Spring,Spring Boot,我一直在为一个项目研究SpringBoot,我需要一些帮助。这些文档以一种模糊的方式引用了@Configuration——它取代了基于XML的配置。其他源将@Configuration称为标记“Bean定义的源” 我对Java还比较陌生,在一些语言方面还很吃力,但到目前为止我的理解是:@Configuration标记一个包含生成bean的方法的类(实际上只是类getter/setter,至少是一个无参数构造函数)。这些方法应该被注释为@Bean。这对Spring来说很重要,因为这是它管理IoC的

我一直在为一个项目研究SpringBoot,我需要一些帮助。这些文档以一种模糊的方式引用了
@Configuration
——它取代了基于XML的配置。其他源将
@Configuration
称为标记“Bean定义的源”

我对Java还比较陌生,在一些语言方面还很吃力,但到目前为止我的理解是:
@Configuration
标记一个包含生成bean的方法的类(实际上只是类getter/setter,至少是一个无参数构造函数)。这些方法应该被注释为
@Bean
。这对Spring来说很重要,因为这是它管理IoC的方式—它收集可以创建对象的方法,并查找
@Autowired
定义(使用反射?)。当它找到一个对象时,它会执行创建该对象的相应函数


这准确吗?我花了一段时间思考,
@Configuration
是设置更琐碎的应用程序状态的一种方法,但听起来它实际上是基本应用程序结构(类)的来源

来自Spring 4官方文档

它清楚地表明,具有
@Configuration
注释的类告诉SpringContainer有一个或多个bean需要在运行时处理。根据您的配置类型,即Web或非Web,Spring将您的
@configuration
类与上下文一起引导

也就是说,您可以通过
xml
配置文件或基于java的注释(这是首选的、可读的和更容易的)进行配置


您还可以从参考文档中阅读
@Configuration
注释类还可以做什么

你看到了吗?我认为你的思路是对的,我并不羡慕你试图同时学习Java和Spring。我仍然很难理解4层异常,深度超过80+的调用堆栈中没有我自己的代码。