我有这个界面:
public interface liteRepository extends CrudRepository<liteEntity, Long>, JpaSpecificationExecutor<liteEntity> {...}
一切正常,一切顺利。
但是,intellij
不会将此类注册为弹簧组件。如果我使用@Component
注释此接口,那么intellij
会将此识别为spring bean,并且我可以在集成测试中@Autowire
此存储库。
我的代码在注释后仍然可以使用,但我并不相信我没有弄乱我不应该搞乱的事情。
问题:
将@Component
注释添加到此接口有什么危害吗?
答案 0 :(得分:1)
@Component
注释唯一意味着该类有资格在Spring的组件扫描期间成为Spring bean。
因此,如果您希望它是一个Spring bean并且您没有在其他任何地方将其定义为Spring bean,则可以安全地添加@Component
注释。
当然,只有你在某处配置了实际的组件扫描(例如,在某些Spring配置文件中为<context:component-scan base-package="...">
),这才会起作用,我假设你已经开始了,因为bean正在自动连接添加注释后。