一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女污视频在线观看 | 国内精品在线播放 | 日本大尺度动漫在线观看缘之空 | 亚洲第一区在线观看 | 我年轻漂亮的继坶2中字在线播放 | 亚洲国产一区二区三区a毛片 | 男模chinesegayxxxx | 日本sss在线高清观看 | 国产好深好硬好爽我还要视频 | 摔跤成人黄版 | 男男视频18免费网站 | 好男人社区www影院在线观看 | 香蕉成人国产精品免费看网站 | 热99精品只有里视频最新 | 精品国产中文字幕在线视频 | 欧美老女人b | 欧美同性猛男野外gay免费 | 男人在线影院 | 91国产在线视频 | 国内精品视频一区二区三区 | 色呦阁| 亚洲品质自拍视频网站 | 四虎综合九九色九九综合色 | 国产精品久久久久久福利 | 国产日产精品久久久久快鸭 | 视频在线91 | 蜜桃成熟时1997在线看免费看 | 免费看黄色片的网站 | 四虎院影永久在线观看 | 欧美一级专区免费大片俄罗斯 | 99精品免费在线 | 亚洲一区二区日韩欧美gif | 女明星放荡高h日常生活 | 国产精品久久久久影院色老大 | 国产愉拍精品视频手机 | 70老妇牲交毛片 | 爽好舒服宝贝添奶吻戏 | 亚洲人成影院午夜网站 | 国产成人综合网亚洲欧美在线 | 192.168.191| 日本手机在线视频 |