盘点springmvc的常用接口
2019獨角獸企業重金招聘Python工程師標準>>>
盤點springmvc的常用接口###
springmvc是如今非常流行的web開發框架之一。我個人非常喜歡它約定優于配置的理念。它暴露出非常多的接口,可以讓用戶自定義自己的實現,從而可以滿足大家的各種各樣的需求。
而springmvc也不僅僅是一個“插板”。它也提供了非常多常用的接口實現,一般地,使用它自帶的實現類也即可滿足大部分的需求了。
看了周邊好多開發者使用springmvc,真的讓我非常哭笑不得。大家都把springmvc這么神奇的框架,當做servlet來使用,依然是
public void demo(HttpServletRequest request, HttpServletResponse response) {String name = request.getParameter("name");if (StringUtils.hasText(name)) {try {InputStream is = request.getInputStream();// do somethingresponse.getWriter().write("content");} catch (IOException e) {e.printStackTrace();}}}有些人會說,這樣寫也沒什么不對啊,業務照樣可以正常跑啊。
這就涉及到代碼侵入性的問題了,request、response這些對象都來自于web容器,使用這些對象緊緊和容器耦合在了一起,不便于單元測試。還有mvc的controller層,本來應該處理業務的邏輯轉發工作,而不是這些數據獲取、驗證、數據輸出等等繁瑣的工作。而且重點是使用request、response對象來處理數據非常之麻煩,代碼也不容易重復使用,造成代碼冗余,使用這種代碼的,往往controller方法冗長笨重,不易于閱讀和維護。
說到底,我是一個追求高雅代碼的人,絕對不能容忍這樣爛大街的代碼。springmvc已經提供給我們非常多好用的接口,我們可以利用接口,避免直接操作request、response。
本系列文章就來盤點一下springmvc中常用的一些接口:
- 1.盤點springmvc的常用接口之HandlerMethodArgumentResolver
- 2.盤點springmvc的常用接口之HandlerMethodReturnValueHandler
- 3.盤點springmvc的常用接口之HttpMessageConverter
- 4.盤點springmvc的常用接口之PropertyEditor
- 5.盤點springmvc的常用接口之Converter(上篇)
- 6.盤點springmvc的常用接口之Converter(中篇)
- 7.盤點springmvc的常用接口之Converter(下篇)
- 8.盤點springmvc的常用接口之HandlerInterceptor
- (未完結)
每個接口都給出了幾個使用示例,為了簡單易懂,功能都不是很完整。
示例使用spring-boot 和 lombok
spring-boot配置:
package com.demo;import org.springframework.boot.SpringApplication;public class DemoApplication {public static void main(String[] args) {SpringApplication.run(WebMvcConfiguration.class, args);}}springmvc配置類:
package com.demo;import java.util.List;import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.method.support.HandlerMethodReturnValueHandler; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;import com.demo.mvc.component.PersonReturnValueHandler;@SpringBootApplication public class WebMvcConfiguration extends WebMvcConfigurationSupport {}實體類:
package com.demo.domain;import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter;@Getter @Setter @NoArgsConstructor @AllArgsConstructor public class Person {private String firstName;private String lastName;@Overridepublic String toString() {return firstName + " " + lastName;} }(其它文章不再贅述環境配置)
關于lombok
示例源碼:
https://github.com/developframework/springmvc-demo
本人才疏學淺,難免會有錯誤,請springmvc的大神不要見笑。寫此系列盤點文章,也是對自己多年學習java和spring框架的總結。
java技術交流QQ群:247276498
轉載于:https://my.oschina.net/sugarZone/blog/704570
總結
以上是生活随笔為你收集整理的盘点springmvc的常用接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring MVC入门示例
- 下一篇: mac安装brew和zsh