2015-05-04 62 views
0

我想知道是否可以使用標記爲@Service註釋的服務層對象並在非mvc-spring類中調用其方法之一?我可以在非mvc類中使用服務層類的方法嗎?

假設有一個方法getUsers()service layer中,它調用了Dao層的getUsers()。爲了在contoller中使用它,我必須在服務層實例中添加@Autowired -annotation。但是如果我想在非mvc類中使用類方法getUsers(),我該怎麼做?

回答

0

爲了使用服務,該對象必須是容器管理。也就是說,這個對象的生命週期必須由Spring來管理(創建,銷燬,初始化......)。

所以要在對象中注入一個服務實例,它也必須是一個Spring bean(Service,Component,Controller ...)。

所以,它可能是一個MVC對象,但它並不是必須的。

另一方面,還有另一種選擇:使用註釋@Configurable

具有此註釋的對象可以是應用程序管理但Spring使用字節碼方面可以注入它的依賴關係。因此,雖然您使用新語句創建對象,但Spring使用此調用並解決所有註釋的依賴關係。

閱讀更多的細節:

http://docs.spring.io/spring/docs/3.0.0.M3/spring-framework-reference/html/ch08s08.html

+0

ok..that意味着我不能使用它以外的春天嗎? – u12345

+0

您可以使用@Configurable。閱讀我更新的答案 – jfcorugedo

+0

好吧,得到它...謝謝 – u12345

相關問題