我和我的 friend 讨论了@ComponentScan
和@Import
。哪一个更好?
我们有两个不同的想法。
@ComponentScan
:易于使用,从组件导入所有bean 扫描。@Import
:您需要知道要使用什么组件,无需全部扫描。
你的想法怎么样?哪一个更适合您使用?
谢谢!
最佳答案
@Import
通常用于导入带有 @Configuration/@Component
标记的 Java 配置类。因此,如果该组件中有一个 bean,Spring 会将其加载到应用程序上下文中。您只需输入组件或类的名称,Spring 就会为您提取它。
但是,通过使用@ComponentScan
,您可以告诉应用程序要扫描哪些包以查找使用@Configuration/@Component
(或任何 @Component 的
子注释(例如 @Service
或 @Repository
等)并将它们全部加载到应用程序上下文中,以便在需要时可以 Autowiring 它们。如果有内部实例需要填充,Spring 会处理它。
您可以阅读有关 @Import 的更多信息和 @ComponentScan在各自的文档页面上。
这个page很好地解释了其中的差异。
关于java - Spring boot @ComponentScan 与 @Import,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61153698/