2016-03-18 36 views
0

我將所有REST API方法合併到一個控制器中,每種方法都需要自己的服務。 所以我在一個控制器中有大約15個@Autowired註釋字段用於服務。控制器有很多@Autowired服務

這樣做是正確的嗎?

它會影響我的REST控制器的性能嗎? 我應該將所有方法劃分爲2個或更多單獨的控制器嗎? 什麼是@Autowired的最佳數量,以避免影響性能?

+0

如果是單身人士,根本不會有任何性能下降。如果控制器本身是原型或請求範圍,並且@Autowired服務也是非單例並且需要大量初始化,則可能會有一些性能下降。 –

+0

沒有負面的性能影響。但是你應該分開你的控制器以增加可理解性。 – Ralph

回答

4

最好是在多個控制器之間拆分API方法,但不會造成性能危害(超級控制器可能會更快) - 這是爲了防止未來的可維護性問題。

3

你在性能方面沒有什麼可擔心的。 Spring只是給你一個你在Spring配置中聲明的bean的引用

但是你可能想要考慮在多個控制器之間劃分你的方法,以使你的代碼更具可讀性&可維護性。

看看你當前的控制器,看看你是否可以按邏輯分組的方法。