我有带完整注释的spring mvc应用程序。添加@componentScan的最佳位置在哪里?让我知道这些推荐的任何内容
我在没有安全保障的情况下进入2并且工作正常。当我添加安全性时,我遇到安全配置无法找到userdetails服务的问题。然后我搬到了3。 我发现了安全性方面的其他问题,并将代码重新归结为null而不是 getRootConfigClasses()中的securityconfig对象。然后我找到了找不到控制器的问题。我能够修复它以将组件扫描放入2.
我只是想知道任何链接以及它是如何工作的。是否可以将@componentscan放入所有这3个中?感谢您的帮助。
答案 0 :(得分:1)
这取决于您项目的包树以及您要扫描的内容。如果您想使用以下注释扫描所有带注释的类:@Configuration, @Component, @Repository, etc...
将@ComponentScan
放在包树的顶部。
您还可以使用basePackages
属性指定开始扫描的位置。
假设您有一个像这样组织的应用程序包:
com.app.config
,com.app.config.web
,com.app.services
,com.app.web.controllers
如果要扫描所有带注释的类,请在@ComponentScan
包中将带有com.app
的类注释掉。
如果您只想扫描控制器,请添加@ComponentScan(basePackages="com.app.web.controllers")
由你来决定。