Spring-boot didasarkan pada kerangka kerja musim semi. Ini bukan peningkatan fungsionalitas kerangka musim semi, tetapi cara untuk membangun musim semi dengan cepat.
Aplikasi Spring-Boot menyediakan konverter JSON default untuk Jackson. Contoh:
Konfigurasi ketergantungan di 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.romp.romp.romp. http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.qinker</groupId> <artifactId>spring-boot</artifactId> <packaging>war</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent> <version>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> <dependencies> <!-https://mvnrepository.com/artifact/org.springfringporing <groupId> org.springframework.boot </groupid> <ArtifactId> Spring-boot-starter-web </stifactid> </dependency> </dependencies> <build> <finalname> Spring-Boot </finalname> </build> </project>
Buat tiga kelas: Mainapp.java dan user.java dan hellocontroller.java:
paket com.springboot; impor java.util.date; impor org.springframework.web.bind.annotation.requestmapping; impor org.springframework.web.bind.annotation.RestController; @RestController kelas publik HelloController {@RequestMapping ("/hello") Public String Hello () {return "Hello, Springboot"; }/** * Spring Boot Kerangka resolusi JSON default adalah jackson * @return */@RequestMapping ("/getUser") pengguna publik getUser () {user u = pengguna baru (); u.setname ("Zhang San"); u.setage (33); u.setCreateTime (tanggal baru ()); mengembalikanmu; }} paket com.springboot; impor java.io.serializable; impor java.util.date; Pengguna kelas publik mengimplementasikan Serializable {Private String Name; usia int pribadi; createTime tanggal pribadi; public string getName () {return name; } public void setName (name string) {this.name = name; } public int getage () {usia kembali; } public void setage (int usia) {this.age = usia; } tanggal publik getCreateTime () {return createTime; } public void setCreateTime (date createTime) {this.createTime = createTime; }} paket com.springboot; impor org.springframework.boot.springapplication; impor org.springframework.boot.autoconfigure.springbootApplication; @SpringbootApplication kelas publik MainApp {public static void main (string [] args) {springApplication.run (mainapp.class, args); }}Mulai MainApp: Kunjungi http: // localhost: 8080/getuser, hasilnya adalah sebagai berikut:
{"Name": "Zhang San", "Age": 33, "CreateTime": "2018-04-04T03: 03: 08.534+0000"}Dapat dilihat bahwa kami tidak membuat konfigurasi, tetapi kami mengembalikan data JSON. Dapat dilihat bahwa Spring-Boot telah membuat implementasi default JSON dan menggunakan Jackson Converter bawaan.
Jadi, mari kita ambil FastJson sebagai contoh:
Pertama, perkenalkan paket FastJson dan tambahkan dependensi berikut di pom:
<!-https://mvnrepository.com/artifact/com.alibaba/fastjson-> <dependency> <groupid> com.alibaba </proupid> <ArtifactId> FastJson </arttifactid> <version> 1.2.47 </version> </dependensi>
Untuk memfasilitasi efeknya, memodifikasi kelas pengguna:
paket com.springboot; impor java.io.serializable; impor java.util.date; impor com.alibaba.fastjson.annotation.jsonfield; @SuppressWarnings ("Serial") Pengguna kelas publik mengimplementasikan serial {private string name; usia int pribadi; @Jsonfield (format = "yyyy-mm-dd hh: mm") createTime tanggal pribadi; public string getName () {return name; } public void setName (name string) {this.name = name; } public int getage () {usia kembali; } public void setage (int usia) {this.age = usia; } tanggal publik getCreateTime () {return createTime; } public void setCreateTime (date createTime) {this.createTime = createTime; }}1. Cara pertama untuk mengimplementasikan konversi JSON Custom FastJson, Spring-Boot mengimplementasikan antarmuka WebMVCConVenter:
Ubah MainApp sebagai berikut:
paket com.springboot; impor java.util.arraylist; impor java.util.list; impor org.springframework.boot.springapplication; impor org.springframework.boot.autoconfigure.springbootApplication; impor org.springframework.http.mediatype; impor org.springframework.http.converter.httpmessageConverter; impor org.springframework.web.servlet.config.annotation.webmvcconfigurer; impor com.alibaba.fastjson.serializer.serializerfeature; impor com.alibaba.fastjson.support.config.fastjsonconfig; impor com.alibaba.fastjson.support.spring.fastjsonhttpmessageConverter; @SpringbootApplication kelas publik MainApp mengimplementasikan webmvcconfigurer {@Override public void configureMessageConVerters (Daftar <httpmessageConverter <? >> Converters) {WebMvCconfigurer.super.configureMessEtageVerters (WebMvCconfigurer.super.configureMessEnverters (Converters) (Converters) (Converters) (Converters) (Converters (WebMVCConfigurer.super // Buat instance FastJson Converter FastJsonHttpMessageConverter converter = baru FastJSonHttpMessageConverter (); // Objek Konfigurasi FastJSonConfig config = new FastJsonConfig (); Daftar <Mediatype> Mediatypes = ArrayList baru <> (); // mediatype mediatype mediatype = mediatype.application_json_utf8; mediatypes.add (mediatype); config.setserializerFeatures (serializerfeature.prettyformat); converter.setsupportedmediatypes (mediatypes); converter.setfastjsonconfig (config); converters.add (converter); } public static void main (string [] args) {springApplication.run (mainapp.class, args); }}Mulai program: Akses jalur di atas: Browser akan melihat hasil berikut:
{"Age": 33, "CreateTime": "2018-04-04 11:14", "Name": "Zhang San"} 2. Suntikan FastJson Converter Menggunakan @Bean Annotation: Modifikasi MainApp sebagai berikut:
paket com.springboot; impor java.util.arraylist; impor java.util.list; impor org.springframework.boot.springapplication; impor org.springframework.boot.autoconfigure.springbootApplication; impor org.springframework.boot.autoconfigure.http.httpMessageConVerters; impor org.springframework.context.annotation.bean; impor org.springframework.http.mediatype; impor com.alibaba.fastjson.serializer.serializerfeature; impor com.alibaba.fastjson.support.config.fastjsonconfig; impor com.alibaba.fastjson.support.spring.fastjsonhttpmessageConverter; @SpringbootApplication kelas publik MainApp {@bean public httpmessageConVertters fastjsonHttpMessageConVenter () {fastjsonHttpMessageConverter converter = fastjsonhttpmessageConverter (); Fastjsonconfig config = new fastjsonconfig (); config.setserializerFeatures (serializerfeature.prettyformat); Daftar <Mediatype> Mediatypes = ArrayList baru <> (); mediatypes.add (mediatype.application_json_utf8); converter.setsupportedmediatypes (mediatypes); mengembalikan httpmessageConverters baru (konverter); } public static void main (string [] args) {springApplication.run (mainapp.class, args); }}Hasil aksesnya sama.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.