亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法自動裝配。未找到“int”類型的 bean

無法自動裝配。未找到“int”類型的 bean

開心每一天1111 2021-06-11 18:29:14
我正在使用 Spring Boot,但在理解 Beans 時遇到了一些麻煩。我相信 Beans 取代了new關鍵字。我發現僅使用 Autowire 時,我的 Beans 不會在對象上創建新實例,并且我的 REST 應用程序將返回用戶首先要求的相同響應(即,如果我最初訪問了 url/id/1,然后訪問了 url /id/2 REST 響應將與 url/id/1 相同)。我試圖通過創建一個 @Configuration 文件來定義一個 bean 來解決這個問題。@Configurationpublic class UserConfig {    @Autowired    UserDAO DAO;    @Bean    public User getUser(int uid) {        try {            return DAO.getUser(uid);        } catch (SIDException e) {            return null;        }    }}但我在運行時不斷收到此錯誤: Parameter 0 of method getUser in com.application.Config.UserConfig required a bean of type 'int' that could not be found.我不明白這一點,因為我試圖在配置文件中定義 Bean。在我的主文件中,我有這些注釋:@SpringBootApplication(scanBasePackages = {"com.application.Config","com.application"})@ComponentScan({"com.application.Config","com.application"})如果有幫助,我將在這種情況下使用我的 bean:@Servicepublic class UserService {    @Autowired    private UserDAO DAO;    public User getUser(int uid) {        try {            return DAO.getUser(uid);        } catch (SIDException e) {            return null;        }    }}
查看完整描述

2 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

當 Spring 嘗試創建一個 bean 時,它需要知道 int uid 值。其他答案的建議可能會解決異常。

但是您試圖做的是對 Spring 的不當使用。我建議您閱讀有關春豆的信息,例如。在進一步之前。

你的getUser方法不需要是一個 bean,你的 dao 是 bean,這就足夠了。你UserService看起來不錯,如果你對不同的 URL 得到相同的結果,你應該在UserService.getUser方法中調試 uid 值。如果 uid 在那里很好,那么在 Dao 中檢查您的查詢。


查看完整回答
反對 回復 2021-06-17
  • 2 回答
  • 0 關注
  • 548 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號