新闻资讯
Java反射案例(SpringMVC)
编辑:008 时间:2020-03-09
相信大家学SpringMVC之前都学过Servlet的吧,如果没学过,建议看我的文章再复复习。
我当时学MVC框架的时候给我带来印象最深的是什么,本来需要各种getParameter(),现在只要通过约定好JavaBean的字段名,就能把值填充进去了。
还是上代码吧,这是我们当时学Servlet的现状:
//通过html的name属性,获取到值 String username = request.getParameter("username");
String password = request.getParameter("password");
String gender = request.getParameter("gender"); //复选框和下拉框有多个值,获取到多个值 String[] hobbies = request.getParameterValues("hobbies");
String[] address = request.getParameterValues("address"); //获取到文本域的值 String description = request.getParameter("textarea"); //得到隐藏域的值 String hiddenValue = request.getParameter("aaa");
我们学到SpringMVC的时候是怎么样的:
@RequestMapping(value = "/save") @ResponseBody public String taskSave(PushConfig pushConfig) {
// 直接使用 String name= pushConfig.getName();
}
为什么SpringMVC能做到?其实就是通过反射来做的。
相信你也有过的经历:
- 如果你的JavaBean的属性名跟传递过来的参数名不一致,那就“自动组装”失败了。因为反射只能根据参数名去找字段名,如果不一致,那肯定set不进去了。所以就组装失败了呀~
如果在使用框架的时候,为什么我们往往写上JavaBean,保持字段名与参数名相同,就能“自动”得到对应的值呢。这就是反射的好处。
屏蔽掉实现的细节,让使用者更加方便好用
原文链接:https://my.oschina.net/u/3777556/blog/3167226
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
回复列表