我有服務控制器,我希望在另一個控制器中重用該功能。這裏是我的服務控制器在另一個控制器中重用彈簧服務控制器功能
@Controller
@Service
@Scope("session")
public class Controller1{
...
}
這裏是我的第二個控制器
@Controller
public class Controller2 {
@Autowired
private Controller1 adminController;
...
}
但我發現了異常,其表示:
錯誤創建名爲「adminController」豆:範圍'會話「對當前線程無效;考慮爲這個bean定義一個範圍代理,如果你打算從一個單例中引用它;
我認爲這是因爲Controler1是會話範圍的bean而Controller2是應用程序。我如何重用Controller2內的Controller1功能?謝謝。
爲什麼你的類既是@Service和@Controller?這至少會帶來一些警鐘響起......接下來,您需要告訴它在僅指定範圍旁邊創建scoped-proxy。 –
感謝您的意見,我不知道爲什麼這是以這種方式定義:)我只想重用它。我會嘗試@ScopedProxy方法 –