【问题标题】:What does @Configuration *really* mean in Spring Boot? [duplicate]@Configuration *really* 在 Spring Boot 中是什么意思? [复制]
【发布时间】:2018-09-06 06:59:23
【问题描述】:

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

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

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

【问题讨论】:

  • 你见过baeldung.com/…吗?我认为你在正确的轨道上。
  • 我并不羡慕你试图同时学习 Java 和 Spring。我仍然无法解决 4-stacked exceptions with 80+ depth call stack 而没有我自己的代码。

标签: java spring spring-boot


【解决方案1】:

来自 Spring 4 官方文档Annotation Type Configuration

它清楚地指出,具有@Configuration 注释的类告诉 Spring 容器有一个或多个 bean 需要在运行时处理。根据您的配置类型,即 Web 或非 Web,Spring 使用上下文引导您的 @Configuration 类。

话虽如此,您可以通过 xml 配置文件或基于 java 的注解(首选、可读且更容易)进行此配置。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-27
    • 2015-07-15
    • 2018-07-17
    • 2012-08-13
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多