2015-11-04 134 views
0

我有这样的接口:是否将注释库接口注释为@Component有什么缺点?

public interface liteRepository extends CrudRepository<liteEntity, Long>, JpaSpecificationExecutor<liteEntity> {...} 

它的工作原理,一切都很好。

但是,intellij不会将该类注册为弹簧组件。如果我用@Component注解这个接口,那么intellij认识到这是一个spring bean,我可以在我的集成测试中使用@Autowire这个存储库。

我的代码在注释后仍然有效,但我不相信我不会搞乱我不应该搞乱的事情。

问:
是否有添加@Component注解这个接口的任何伤害?

回答

1

@Component注解的唯一含义就是该类有资格在Spring的组件扫描期间成为Spring bean。

所以,如果你想让它成为一个Spring bean,并且你没有将它定义为其他地方的Spring bean,那么可以安全地添加@Component注释。

当然,如果您在某个地方配置了实际的组件扫描(例如在某些Spring配置文件中配置了<context:component-scan base-package="...">),那么我认为您已经调高了,因为该bean在添加后正确自动装配注释。