يعتمد Spring-Boot على إطار الربيع. إنه ليس تعزيزًا لوظيفة إطار الربيع ، ولكنه وسيلة لبناء الربيع بسرعة.
يوفر تطبيق Spring-Boot محول JSON الافتراضي لجاكسون. مثال:
تكوين التبعية في pom.xml:
<project xmlns = "http://maven.apache.org/pom/4.0.0" http://maven.apache.org/maven-v4_0_0.xsd "> <Dodeversion> 4.0.0 </modelversion> <roupiD> com.qinker </groupId> <StifactId> spring-boot </stifactid> <StifactId> Spring-boot-starter-parent </stifactid> <soph> 2.0.0.Release </version> </parent> <soph> 0.0.1-snapshot </version> <same> spring-boot </same> <Url> http://maven.apache.org </url> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <java.version> 9 </java.version> </properties> <ependents> <!-https://mvnrepository.com/artifact/org.Springframework. <roupl> org.springframework.boot </groupId> <StifactId> Spring-Boot-Starter-Web </suntifactid> </premited> </
إنشاء ثلاث فئات: mainapp.java و user.java و hellocontroller.java:
حزمة com.springboot ؛ استيراد java.util.date ؛ استيراد org.springframework.web.bind.annotation.requestmapping ؛ استيراد org.springframework.web.bind.annotation.restController ؛ RestController public class hellocontroller { @requestmapping ("/hello") السلسلة العامة hello () {return "hello ، springboot" ؛ }/** * SPRING BOOT إن إطار دقة JSON الافتراضي هو Jackson * regurn */ @requestmapping ("/getUser") المستخدم العام getUser () {user u = new user () ؛ U.SetName ("Zhang San") ؛ U.Setage (33) ؛ U.SetCreateTime (تاريخ جديد ()) ؛ أعدك ؛ }} حزمة com.springboot ؛ استيراد java.io.serializable ؛ استيراد java.util.date ؛ مستخدم الفئة العامة ينفذ مسلسل {اسم السلسلة الخاصة ؛ عصر INT الخاص ؛ تاريخ خاص CreateTime ؛ السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } public int getage () {return Age ؛ } public void setage (int age) {this.age = age ؛ } التاريخ العام getCreateTime () {return createTime ؛ } public void setCreateTime (DateTeTime) {this.createTime = createTime ؛ }} حزمة com.springboot ؛ استيراد org.springframework.boot.springapplication ؛ استيراد org.springframework.boot.autoconfigure.SpringBootApplication ؛ springBootApplication الفئة العامة mainapp {public static void main (string [] args) {springapplication.run (mainapp.class ، args) ؛ }}ابدأ MainApp: قم بزيارة http: // localhost: 8080/getuser ، والنتيجة هي كما يلي:
{"name": "Zhang San" ، "Age": 33 ، "CreateTime": "2018-04-04T03: 03: 08.534+0000"}يمكن ملاحظة أننا لم نقم بأي تكوين ، لكننا قمنا بإرجاع بيانات JSON. يمكن ملاحظة أن SPRING-BOOT قام بتطبيق افتراضي لـ JSON ويستخدم محول جاكسون المدمج.
لذلك ، دعنا نأخذ Fastjson كمثال:
أولاً ، قدم حزمة FastJson وأضف التبعيات التالية في POM:
<!-https://mvnrepository.com/artifact/com
لتسهيل التأثير ، قم بتعديل فئة المستخدم:
حزمة com.springboot ؛ استيراد java.io.serializable ؛ استيراد java.util.date ؛ استيراد com.alibaba.fastjson.annotation.jsonfield ؛ suppressWarnings ("Serial") مستخدم الفئة العامة ينفذ قابلة للتسلسل {اسم السلسلة الخاصة ؛ عصر INT الخاص ؛ jsonfield (format = "yyyy-mm-dd hh: mm") private date createTime ؛ السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } public int getage () {return Age ؛ } public void setage (int age) {this.age = age ؛ } التاريخ العام getCreateTime () {return createTime ؛ } public void setCreateTime (DateTeTime) {this.createTime = createTime ؛ }}1. الطريقة الأولى لتنفيذ تحويل Fastjson Custom JSON ، تنفذ Boot Spring-Boot واجهة WebMVCConventer:
تعديل MainApp على النحو التالي:
حزمة com.springboot ؛ استيراد java.util.arraylist ؛ استيراد java.util.list ؛ استيراد org.springframework.boot.springapplication ؛ استيراد org.springframework.boot.autoconfigure.SpringBootApplication ؛ استيراد org.springframework.http.mediatepe ؛ استيراد org.springframework.http.converter.httpmessageConverter ؛ استيراد org.springframework.web.servlet.config.annotation.webmvconfigurer ؛ استيراد com.alibaba.fastjson.serializer.SerializerFeature ؛ استيراد com.alibaba.fastjson.support.config.fastjsonconfig ؛ استيراد com.alibaba.fastjson.support.spring.fastjsonhttpmessageConverter ؛ springbootapplication الفئة العامة mainapp تنفذ webmvcconfigurer {Override public void configuremessageConverters (قائمة <httpmessageconverter <؟ // إنشاء مثيل محول fastjson fastjsonhttpmessageConverter محول = جديد fastjsonhttpmessageConverter () ؛ // configuration object fastjsonconfig config = new fastjsonconfig () ؛ قائمة <MedarType> mediaTypes = new ArrayList <> () ؛ . MediaTypes.Add (MediaType) ؛ config.setserializerfeatures (serializerfeature.prettyformat) ؛ Converter.SetSupportededIdiatepes (MediaTypes) ؛ converter.setfastjsonconfig (config) ؛ المحولات. add (المحول) ؛ } public static void main (string [] args) {springapplication.run (mainapp.class ، args) ؛ }}ابدأ البرنامج: الوصول إلى المسار أعلاه: سيرى المتصفح النتائج التالية:
{"Age": 33 ، "CreateTime": "2018-04-04 11:14" ، "Name": "Zhang San"} 2. حقن محول Fastjson باستخدام التعليق التوضيحي 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.mediatepe ؛ استيراد com.alibaba.fastjson.serializer.SerializerFeature ؛ استيراد com.alibaba.fastjson.support.config.fastjsonconfig ؛ استيراد com.alibaba.fastjson.support.spring.fastjsonhttpmessageConverter ؛ springbootapplication الفئة العامة mainapp {bean public httpmessageconverters fastjsonhttpmessageConventers () {fastjsonhttpmessageConverter محول = جديد fastjsonhttpmessageconverter () ؛ fastjsonconfig config = new fastjsonconfig () ؛ config.setserializerfeatures (serializerfeature.prettyformat) ؛ قائمة <MedarType> mediaTypes = new ArrayList <> () ؛ MediaTypes.add (mediaType.application_json_utf8) ؛ Converter.SetSupportededIdiatepes (MediaTypes) ؛ إرجاع httpmessageConverters جديد (محول) ؛ } public static void main (string [] args) {springapplication.run (mainapp.class ، args) ؛ }}نتيجة الوصول هي نفسها.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.