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

在Spring中,将@configuration与@componentscan一起使用的具体用例是什么?

柴耀
2023-03-14
<context:annotation-config>: Scanning and activating annotations for already registered beans in spring config xml.

<context:component-scan>: Bean registration + <context:annotation-config>

如果让我们假设我用@component(首先忽略@repository、@service等更具体的注释)声明我的所有bean,并确保包被@componentscan注释扫描,那么我仍然用@configuration和@componentscan注释我的类的具体用例是什么?

我之所以问这个问题,是因为有时我会看到同时用@configuration和@componentscan注释的类。

共有1个答案

赵嘉悦
2023-03-14

首先仔细阅读以下内容:

之间的区别

因此, 执行扫描作业,与 执行的作业相同,这意味着要处理di注释

那么现在考虑一下:

  • 等效于@componentscan
  • 没有批注的等效项。

什么是一个特殊的用例,我仍然用@configuration和@componentscan来注释我的类?

@EnableWebMvc
@Configuration
@ComponentScan("com.manuel.jordan.controller", "com.manuel.jordan.rest")
public class WebMvcConfig extends WebMvcConfigurerAdapter {
 类似资料:
  • 我在许多文章中读到,@ComponentScan应该与@Configuration一起放在类的顶部。这里有一些参考: 我们使用@componentscan注释和@configuration注释来指定要扫描的包(https://www.baeldung.com/spring-component-scanning) @componentscan(basePackages=“com.zetcode”)@

  • 问题内容: 我有一个喜欢使用元类的朋友,并定期提供它们作为解决方案。 我认为您几乎不需要使用元类。为什么?因为我认为如果您正在对类进行此类操作,则可能应该对对象进行操作。并进行了少量的重新设计/重构。 能够使用元类已经使很多地方的许多人将类用作某种第二流的对象,这对我来说似乎是灾难性的。用元编程代替编程吗?不幸的是,添加了类装饰器后,它甚至被接受了。 所以,我很想知道您在Python中对元类的有效

  • 问题内容: 我是Spring的新手。 我们正在使用Spring Security功能。数据库连接:JPA的eclipselink实现。数据库:MySql 使用spring security时,身份验证提供程序的配置如下- 但是在JPA中,我们没有定义数据源,我们将Persistence unit与provider一起使用 那么,我们如何配置身份验证提供程序,以便将JPA用于数据库连接? 数据源引用

  • 更新: 因为有些答案提供了解决方案,我问的是解释而不是解决方案。以下内容甚至不需要对“测试”进行组件扫描就可以工作: 现在的问题是,当@repository不工作时,为什么我甚至需要在它上使用componentscan?为什么在文档中@repository是由componentscan扫描的,而@enablejparepostiories是enoguh?

  • 问题内容: 我有一个要在组件扫描时排除的类。我正在使用下面的代码来做到这一点,但这似乎没有用,尽管一切似乎都正确 实际上,我想在我的其余api逻辑中使用实现“ Service”接口的“ ServiceImpl”类,并在进行api的集成测试时希望排除这种实现并加载模拟的实现。但这似乎没有发生,即使使用上面的内容我也收到以下错误 我花了太多时间在此上,但没有任何效果。 任何帮助表示赞赏。 问题答案:

  • 问题内容: 我正在使用spring数据,我的DAO看起来像 在上面的代码中,注释行显示了我的意图。Spring Data是否可以提供内置功能来使用这种方法通过ASC / DESC按某列查找所有记录顺序? 问题答案: 上面的代码应该可以工作。我正在使用类似的东西: 它返回最高级别的10行。 重要提示: 由于有人告诉我很容易错过此答案的关键点,因此需要澄清一下: