激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解Spring MVC自動為對象注入枚舉類型

詳解Spring MVC自動為對象注入枚舉類型

2020-09-16 15:58white__cat Java教程

本篇文章主要介紹了Spring MVC自動為對象注入枚舉類型,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

如果一個對象里面有枚舉類型的話,則spring MVC是不能夠直接進行注入的,因為它只實現了一些基本的數據類型的自動轉換注入,但是其也提供了可擴展的接口,可以根據自己的需要來進行擴展。下面是一個示例:

首先:這是一個枚舉類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
 * 新聞類別
 * @author: ShangJianguo
 * 2014-6-11 上午10:51:07
 */
public enum ENews {
 
  company("0"), // 企業新聞
  industry("1");// 行業新聞
 
  private final String value;
   
  private ENews(String v) {
    this.value = v;
  }
   
  public String toString() {
    return this.value;
  }
 
  public static ENews get(int v) {
    String str = String.valueOf(v);
    return get(str);
  }
 
  public static ENews get(String str) {
    for (ENews e : values()) {
      if(e.toString().equals(str)) {
        return e;
      }
    }
    return null;
  }
}

下面是個實體類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public class News {
   
  private ENews type;
  private String adminuid;
  private String title;
  private String summary;
  private String author;
  private String origin;
  private String originurl;
  private String content;
 
    // 省略setter和getter方法
}

這里是controller層:

?
1
2
3
4
5
6
7
8
9
10
11
12
@RequestMapping(value="/news/update", method=RequestMethod.POST)
@ResponseBody
public boolean edit_update(Map<String, Object> model,HttpServletRequest request,News news){
  String adminid = getAdminid();
  news.init(adminSO.getAdminByAdminid(adminid).getUid());
  if (news != null) {
    if (newsSO.update(news)) {
      return true;
    }
  }
  return false;
}

但是,到了這里程序還不能夠正常的運行,真正的要點在下面,寫一個枚舉的轉換類(Converter):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class StringToENewsConverter implements Converter<String, ENews>{
 
  /* (non-Javadoc)
   * @see com.fasterxml.jackson.databind.util.Converter#convert(java.lang.Object)
   * @author: ShangJianguo
   * 2014-6-12 下午4:56:30
   */
  @Override
  public ENews convert(String source) {
    String value = source.trim();
    if ("".equals(value)) {
      return null;
    }
    return ENews.get(Integer.parseInt(source));
 
  }
}

然后在spring mvc的配置文件中進行配置:

?
1
2
3
4
5
6
7
8
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
  <property name="converters">
    <set>
      <bean class="com.ngenius.core.converters.StringToENewsConverter" />
       
    </set>
  </property>
</bean>

這樣spring在進行對對象的字段進行注入的時候就可以運行了,直接把前端接收來的內容轉換為ENews類型,進行封裝。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/white__cat/article/details/55061741

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人免费毛片在线观看 | 色女孩网 | 免费观看国产精品视频 | 成人午夜免费国产 | 色婷婷一区二区三区 | 国产精品一区在线看 | 午夜av男人的天堂 | 国产精品久久久久久久午夜片 | 毛片在线免费视频 | 特一级毛片| 欧美成人做爰高潮片免费视频 | 黄片一级毛片 | 一区二区三区日韩在线 | 成人国产精品久久 | 一级毛片播放 | 成av在线| 成人毛片在线免费看 | 99精品视频在线观看免费播放 | 亚洲人成中文字幕在线观看 | 精品黑人一区二区三区国语馆 | 农村少妇吞精夜夜爽视频 | 成人免费久久网 | 欧美性猛交xxx乱大交3蜜桃 | 成人免费网站在线观看视频 | 在线观看日本中文字幕 | 久久蜜桃香蕉精品一区二区三区 | 亚洲影视在线观看 | 国产精品毛片va一区二区三区 | 成人偷拍片视频在线观看 | 国产精品毛片无码 | 成人做爰高潮片免费视频韩国 | 男女无套免费视频 | 在线日韩欧美 | 黄色电影免费提供 | 亚洲成人在线视频网 | 国产成人强伦免费视频网站 | 一级黄色大片在线观看 | 成人毛片网 | cosplay裸体福利写真 | 失禁高潮抽搐喷水h | 免费一级在线视频 |