스프링 부츠는 스프링 프레임 워크를 기반으로합니다. 스프링 프레임 워크의 기능을 향상시키는 것이 아니라 스프링을 빠르게 구축하는 방법입니다.
Spring-Boot Application은 Jackson의 기본 JSON 변환기를 제공합니다. 예:
pom.xml의 종속성 구성 :
<project xmlns = "http://maven.apache.org/pom/4.0.0"xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance"xsi : schemalocation = "http://maven.apache.org/pom/0.0.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <modelversion> 4.0.0 </modelversion> <groupid> com.qinker </groupid> <artifactid> spring-boot </artifactid> <parkaging> war </packaging> <부모> </groupid> org.springframwork.sboot <Artifactid> Spring-Boot-Starter-Parent </artifactid> <bersion> 2.0.0.Release </version> </parent> <버전> 0.0.1-snapshot </version> <name> spring-boot </name> <url> http://maven.apache.org </url> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <java.version> 9 </java.version> </properties> <! <groupid> org.springframework.boot </groupid> <artifactid> 스프링-부트-스타터-web </artifactid> </fincepency> </fectencies> <finalname> spring-boot </finalname> </build> </project>
MainApp.java 및 User.java 및 HelloController.java의 세 가지 클래스를 만듭니다.
패키지 com.springboot; import java.util.date; org.springframework.web.bind.annotation.requestmapping; org.springframework.web.bind.annotation.RestController; @RestController Public Class HelloController {@requestmapping ( "/hello") public String hello () {return "Hello, SpringBoot"; }/** * 스프링 부팅 기본 JSON 해상도 프레임 워크는 Jackson * @return */@requestmapping ( "/getUser") public user getUser () {user u = new user (); U.setName ( "Zhang San"); U. 세트 (33); u.setcreateTime (new date ()); u; }} 패키지 com.springboot; java.io.serializable import; import java.util.date; 공개 클래스 사용자는 직렬화 가능한 {개인 문자열 이름을 구현합니다. 사적인 int 연령; 개인 날짜 CreateTime; 공개 문자열 getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public int getage () {반환 연령; } public void 설정 (int Age) {this.age = age; } 공개 날짜 getCreateTime () {return createTime; } public void setCreateTime (Date CreateTime) {this.createTime = createTime; }} 패키지 com.springboot; org.springframework.boot.springApplication import; org.springframework.boot.autoconfigure.springbootapplication import; @SpringBootApplication public class mainApp {public static void main (String [] args) {springApplication.Run (mainApp.Class, args); }}MainApp 시작 : http : // localhost : 8080/getuser를 방문하십시오. 결과는 다음과 같습니다.
{ "이름": "Zhang San", "Age": 33, "CreateTime": "2018-04-04T03 : 03 : 08.534+0000"}}우리는 구성을 만들지 않았지만 JSON 데이터를 반환했습니다. Spring-Boot가 JSON의 기본 구현을 만들었고 내장 Jackson 변환기를 사용한다는 것을 알 수 있습니다.
따라서 Fastjson을 예로 들어 봅시다.
먼저 Fastjson 패키지를 소개하고 POM에 다음의 종속성을 추가하십시오.
<!-https://mvnrepository.com/artifact/com.alibaba/fastjson-> <pectionement> <groupid> com.alibaba </groupid> <artifactid> fastjson </artifactid> <bersion> 1.2.47 </version> </dependency>
효과를 용이하게하려면 사용자 클래스를 수정하십시오.
패키지 com.springboot; java.io.serializable import; import java.util.date; com.alibaba.fastjson.annotation.jsonfield 가져 오기; @SuppressWarnings ( "Serial") 공개 클래스 사용자는 시리얼이즈 가능한 {개인 문자열 이름; 사적인 int 연령; @jsonfield (format = "yyyy-mm-dd hh : mm") 개인 날짜 CreateTime; 공개 문자열 getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public int getage () {반환 연령; } public void 설정 (int Age) {this.age = age; } 공개 날짜 getCreateTime () {return createTime; } public void setCreateTime (Date CreateTime) {this.createTime = createTime; }}1. FastJson Custom JSON 변환을 구현하는 첫 번째 방법 인 Spring-Boot는 WebMvcConventer 인터페이스를 구현합니다.
다음과 같이 MainApp을 수정하십시오.
패키지 com.springboot; java.util.arraylist 가져 오기; Java.util.list 가져 오기; org.springframework.boot.springApplication import; org.springframework.boot.autoconfigure.springbootapplication import; import org.springframework.http.mediatype; import org.springframework.http.converter.httpmessageconverter; org.springframework.web.servlet.config.annotation.webmvcconfigurer; com.alibaba.fastjson.serializer.serializerfeature import; com.alibaba.fastjson.support.config.fastjsonconfig import; com.alibaba.fastjson.support.spring.fastjsonhttpmessageconverter import; @SpringBootApplication Public Class MainApp은 WebMvcConfigurer {@override public void configuremessageconverters (list <httpmessageconverter <?> converters) {webmvcconfigurer.super.configeRemessageConverters (converters); // FASTJSON 변환기 인스턴스 생성 FASTJSONHTTPMESSAGECONVERTER CONVERTER = NEW FASTJSONHTTPMESAGECONVERTER (); // 구성 객체 FASTJSONCONFIG CONFIG = NEW FASTJSONCONFIG (); List <MediaType> mediaTypes = new ArrayList <> (); // 중국인 인코딩 mediaType mediaType = mediaType.Application_json_utf8; MediaTypes.Add (MediaType); config.setserializerfeatures (serializerfeature.prettyformat); Converter.SETSUPPORTEDMEDIATYPES (MediaTypes); conver. setfastjsonConfig (config); 변환기 .add (변환기); } public static void main (String [] args) {springApplication.run (mainApp.Class, Args); }}프로그램 시작 : 위의 경로 액세스 : 브라우저에는 다음 결과가 표시됩니다.
{ "Age": 33, "CreateTime": "2018-04-04 11:14", "이름": "Zhang San"} 2. @Bean 주석을 사용하여 FastJSON 변환기를 주입하십시오 : 다음과 같이 MainApp을 수정하십시오.
패키지 com.springboot; java.util.arraylist 가져 오기; Java.util.list 가져 오기; org.springframework.boot.springApplication import; org.springframework.boot.autoconfigure.springbootapplication import; org.springframework.boot.autoconfigure.http.httpmessageconverters; import org.springframework.context.annotation.bean; import org.springframework.http.mediatype; com.alibaba.fastjson.serializer.serializerfeature import; com.alibaba.fastjson.support.config.fastjsonconfig import; com.alibaba.fastjson.support.spring.fastjsonhttpmessageconverter import; @SpringBootApplication public class mainApp {@bean public httpmessageConverters fastjsonhttpmessageconventers () {fastjsonhttpmessageconverter converter = new FastjsonhttpMessageConverter (); FASTJSONCONFIG CONFIG = NEW FASTJSONCONFIG (); config.setserializerfeatures (serializerfeature.prettyformat); List <MediaType> mediaTypes = new ArrayList <> (); mediaTypes.Add (mediaType.Application_json_utf8); Converter.SETSUPPORTEDMEDIATYPES (MediaTypes); 새로운 httpmessageconverters (변환기)를 반환합니다. } public static void main (String [] args) {springApplication.run (mainApp.Class, Args); }}액세스 결과는 동일합니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.