Spring-Boot ขึ้นอยู่กับกรอบฤดูใบไม้ผลิ มันไม่ได้เป็นการปรับปรุงฟังก์ชั่นของ Framework ของ Spring Framework แต่เป็นวิธีการสร้างฤดูใบไม้ผลิอย่างรวดเร็ว
แอปพลิเคชัน Spring-Boot ให้ตัวแปลง JSON เริ่มต้นสำหรับ Jackson ตัวอย่าง:
การกำหนดค่าการพึ่งพาใน pom.xml:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/maven-v4_0_0.xsd "> <moderVersion> 4.0.0 </modelversion> <sroupid> com.qinker </groupid> <ratifactid> spring-boot </artifactid> <cackaging> <ArtIfactId> Spring-Boot-Starter-Parent </artifactid> <version> 2.0.0.Release </เวอร์ชัน> </Parent> <Sersion> 0.0.1-Snapshot </Sersion> <name> Spring-Boot </name> <url> http://maven.apache.org </l> <Project.build.sourceencoding> utf-8 </project.build.sourceencoding> <java.version> 9 </java.version> </properties> <pendencies> <! <Effercy> <merctId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Web </artifactid> </dermentrency>
สร้างสามคลาส: mainapp.java และ user.java และ hellocontroller.java:
แพ็คเกจ com.springboot; นำเข้า java.util.date; นำเข้า org.springframework.web.bind.annotation.requestmapping; นำเข้า org.springframework.web.bind.annotation.restcontroller; @RestController ชั้นเรียนสาธารณะ HelloController {@requestmapping ("/hello") สตริงสาธารณะสวัสดี () {return "hello, springboot"; }/** * สปริงบูตกรอบความละเอียด JSON เริ่มต้นคือ Jackson * @return */@requestmapping ("/getUser") ผู้ใช้สาธารณะ getUser () {ผู้ใช้ u = ผู้ใช้ใหม่ (); U.SetName ("จางซาน"); การตั้งค่า U. (33); U.SetCreateTime (วันที่ใหม่ ()); กลับคุณ; - แพ็คเกจ com.springboot; นำเข้า java.io.serializable; นำเข้า java.util.date; ผู้ใช้ระดับสาธารณะใช้ serializable {ชื่อสตริงส่วนตัว; อายุ int ส่วนตัว; วันที่ส่วนตัว createTime; สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } public int getage () {return Age; } การตั้งค่าโมฆะสาธารณะ (อายุ int) {this.age = อายุ; } วันที่สาธารณะ getCreateTime () {return createTime; } โมฆะสาธารณะ setCreateTime (วันที่ createTime) {this.createTime = createTime; - แพ็คเกจ com.springboot; นำเข้า org.springframework.boot.springapplication; นำเข้า org.springframework.boot.autoconfigure.springbootapplication; @springbootapplication คลาสสาธารณะ MainApp {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run (mainapp.class, args); -เริ่มต้น MainApp: เยี่ยมชม http: // localhost: 8080/getuser ผลลัพธ์มีดังนี้:
{"ชื่อ": "จางซาน", "อายุ": 33, "createTime": "2018-04-04T03: 03: 08.534+0000"}จะเห็นได้ว่าเราไม่ได้กำหนดค่าใด ๆ แต่เราส่งคืนข้อมูล JSON จะเห็นได้ว่า Spring-Boot ได้ดำเนินการเริ่มต้นของ JSON และใช้ตัวแปลง Jackson ในตัว
ดังนั้นลองใช้ fastjson เป็นตัวอย่าง:
ก่อนอื่นแนะนำแพ็คเกจ FastJSON และเพิ่มการพึ่งพาต่อไปนี้ใน POM:
<!-https://mvnrepository.com/artifact/com.alibaba/fastjson-> <cendency> <roupid> com.alibaba </groupId>
เพื่ออำนวยความสะดวกในการปรับเปลี่ยนคลาสผู้ใช้:
แพ็คเกจ com.springboot; นำเข้า java.io.serializable; นำเข้า java.util.date; นำเข้า com.alibaba.fastjson.annotation.jsonfield; @suppresswarnings ("อนุกรม") ผู้ใช้ระดับสาธารณะใช้การใช้งาน serializable {ชื่อสตริงส่วนตัว; อายุ int ส่วนตัว; @jsonfield (format = "yyyy-mm-dd hh: mm") วันที่ส่วนตัว createTime; สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } public int getage () {return Age; } การตั้งค่าโมฆะสาธารณะ (อายุ int) {this.age = อายุ; } วันที่สาธารณะ getCreateTime () {return createTime; } โมฆะสาธารณะ setCreateTime (วันที่ createTime) {this.createTime = createTime; -1. วิธีแรกในการใช้การแปลง JSON FastJSON ที่กำหนดเอง Spring-Boot ใช้อินเตอร์เฟส WebMVCCONVENTER:
แก้ไข MainApp ดังนี้:
แพ็คเกจ com.springboot; นำเข้า java.util.arraylist; นำเข้า java.util.list; นำเข้า org.springframework.boot.springapplication; นำเข้า org.springframework.boot.autoconfigure.springbootapplication; นำเข้า org.springframework.http.mediatype; นำเข้า org.springframework.http.converter.httpmessageConverter; นำเข้า org.springframework.web.servlet.config.annotation.webmvcconfigurer; นำเข้า com.alibaba.fastjson.serializer.serializerfeature; นำเข้า com.alibaba.fastjson.support.config.fastjsonconfig; นำเข้า com.alibaba.fastjson.support.spring.fastjsonhttpmessageconverter; @SpringBootapplication คลาสสาธารณะ MainApp ใช้ WebMVCCONFigurer {@Override โมฆะสาธารณะ configureMessageConverters (รายการ <httpMessageConverter <? >> ตัวแปลง) {WebMVCCONFigurer.Super.ConfiguremessageConverters (Converters); // สร้างอินสแตนซ์ตัวแปลง FastJSON FastJSONHTTPMESSAGECONVERTER Converter = ใหม่ FastJSONHTTPMESSAGECONVERTER (); // การกำหนดค่าวัตถุ fastjsonConfig config = new fastjsonConfig (); รายการ <MedyType> MediaTypes = new ArrayList <> (); // การเข้ารหัสจีน MediaType MediaType = MediaType.Application_JSON_UTF8; MediaTypes.add (MediaType); config.setserializerfeatures (serializerfeature.prettyformat); Converter.setsupportedmediatypes (MediaTypes); Converter.SetFastJsonConfig (config); Converters.add (Converter); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run (mainapp.class, args); -เริ่มโปรแกรม: เข้าถึงเส้นทางด้านบน: เบราว์เซอร์จะเห็นผลลัพธ์ต่อไปนี้:
{"อายุ": 33, "CreateTime": "2018-04-04 11:14", "Name": "Zhang San"} 2. Inject Fastjson Converter โดยใช้คำอธิบายประกอบ @Bean: แก้ไข MainApp ดังต่อไปนี้:
แพ็คเกจ com.springboot; นำเข้า java.util.arraylist; นำเข้า java.util.list; นำเข้า org.springframework.boot.springapplication; นำเข้า org.springframework.boot.autoconfigure.springbootapplication; นำเข้า org.springframework.boot.autoconfigure.http.httpmessageConverters; นำเข้า org.springframework.context.annotation.bean; นำเข้า org.springframework.http.mediatype; นำเข้า com.alibaba.fastjson.serializer.serializerfeature; นำเข้า com.alibaba.fastjson.support.config.fastjsonconfig; นำเข้า com.alibaba.fastjson.support.spring.fastjsonhttpmessageconverter; @springbootapplication คลาสสาธารณะ MainApp {@bean สาธารณะ httpmessageConverters fastjsonhttpmessageConVenters () {fastjsonhttpmessageConverter converter = ใหม่ FastjsonhttpmessageConverter (); fastjsonConfig config = ใหม่ fastjsonConfig (); config.setserializerfeatures (serializerfeature.prettyformat); รายการ <MedyType> MediaTypes = new ArrayList <> (); MediaTypes.add (MediaType.Application_JSON_UTF8); Converter.setsupportedmediatypes (MediaTypes); ส่งคืน httpmessageconverters ใหม่ (ตัวแปลง); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run (mainapp.class, args); -ผลการเข้าถึงเหมือนกัน
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น