gpt4 book ai didi

spring - 在哪里放置组件scan

转载 作者:行者123 更新时间:2023-12-02 09:32:21 25 4
gpt4 key购买 nike

我有带有完整注释的 spring mvc 应用程序。添加@componentScan的最佳位置在哪里?让我知道这些推荐的内容

  1. 扩展 AbstractAnnotationConfigDispatcherServletInitializer 的类?
  2. 扩展 WebMvcConfigurationSupport 的类
  3. 扩展 WebSecurityConfigurerAdapter 的类

我在没有安全的情况下放置在 2 中并且工作正常。当我添加安全性时,我遇到了安全配置问题,无法找到 userdetails 服务。然后我就搬到3了。我发现了其他安全问题,并将代码设置为仅返回 null 而不是 来自 getRootConfigClasses() 的 securityconfig 对象。然后我遇到了找不到 Controller 的问题。我能够修复它以将 componenentscan 放入 2。

我只是想知道任何链接及其工作原理。将@componentscan 放入所有这3 个中可以吗?感谢您的帮助。

最佳答案

这取决于您项目的包树以及您想要扫描的内容。如果您想扫描带有此类注释的所有带注释的类,例如:@Configuration、@Component、@Repository 等...@ComponentScan 放在包树的顶部。

您还可以使用basePackages属性来指定从哪里开始扫描。

假设您有一个像这样组织的应用程序包:

com.app.configcom.app.config.webcom.app.servicescom.app .web.controllers

如果要扫描所有带注释的类,请将带有@ComponentScan注释的类放在com.app包中。

如果您只想扫描 Controller ,请添加@ComponentScan(basePackages="com.app.web.controllers")

这由你决定。

关于spring - 在哪里放置组件scan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46589388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com