簡體   English   中英

春天注入類

[英]Spring Injected Class

我是Spring的新手,我剛剛加入了一個開發團隊,他們正在利用它來開發我們正在開發的產品。 我開始了解IoC。 但是,我對一個特定的觀點感到困惑。 我已經找到了答案,但一直找不到任何答案。

我正在查看的類上設置了@Controller注釋。 其中一個方法有@RequestMapping注釋。 此特定方法的方法簽名包含我公司的一個專有類的參數。 這個專有類在Spring上沒有任何注釋,也沒有在Spring配置文件中列出。

所以,我的問題是: 當沒有任何東西可以幫助框架識別它時,該參數如何被注入?

我懷疑它能夠做到這一點,因為在上一個事務中,專有類通過ModelAndView.addObject()添加到模型中,但我希望有人可以確認或否認。

具體情況如下:

  1. 用戶請求登錄頁面
  2. addObject(proprietaryClass)
  3. 用戶顯示登錄頁面
  4. 用戶單擊按鈕登錄
  5. 方法在方法簽名中使用專有類調用。

任何幫助都會很棒。

在bean配置中的某處,您將找到轉換服務bean。 如果其他開發人員很好,他們會將其命名為“ConverterFactory”,它可能會擴展org.springframework.format.support.FormattingConversionServiceFactoryBean 您還可以使用org.springframework.format.FormatterRegistry的代碼庫。

這在Spring參考手冊中有所描述。

春天很聰明......真聰明。 它可以查看請求參數的名稱,並按字段名稱將它們映射到POJO。 例如,如果您的用戶有“first”和“last”字段,則可以傳入user.first = Joe&user.last = Blow,它會嘗試設置用戶對象的“first”和“last”屬性。 請查看http://www.jpalace.org/docs/technotes/spring/mvc-params.html,特別是名為Binding Domain Objects的部分。

另一種選擇是他們已經實現了轉換器或轉換器工廠。 在我的項目中,我實現了一個處理我的任何數據庫實體的通用ConverterFactory,獲取Long並通過id查找它將其轉換為實體化實體。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM