2015-11-04 84 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在添加後正確自動裝配註釋。