, xstream steun ook graag op automatische configuratie in plaats van de code.In het vorige hoofdstuk hebben we al gezien in de code in de volgende regeling, xstream. Alias ("student", studenten); de River. Alias (attentie.); de River. Useattributefor (student.class, "studentname"); de River. Aliasfield ("naam", "student.class, studentname"); De River. Addimplicitcollection (student.class "notes"); het volgende fragment, dat commentaar op een eenvoudiger manier om hetzelfde te doen. Xstreamalias ("," student ") ///////de definitie van de categorieën studenten {@ xstreamalias (alias" de naam ") //////////////xstreamasattribute omschreven gebieden op het niveau van de naam" gebieden omschreven goederen. Studentname; @ xstreamimplicit ///////lijst van definities is een impliciete verzamelen van privé - lijst < noot > een nieuwe toelichting =Rraylist < noot > (); ///////xstreamomitfield weggelaten @ gebieden die niet onder een deel van de XML - particuliere vormen;}, laten we de test met xstream noot, het creëren van een Java dossiers genoemd xstreamtester, C: \\ \\ \\> xstream_workspace COM tutorialspoint xstream,.,,, - documenten: xstreamtester.,,, het pakket com.tutorialspoint.xstream; de invoer van java.io.bytearrayinputstream; de invoer van java.io.bytearrayoutputstream; de invoer van java.util.arraylist; de invoer van java.util.list; de invoer van javax.xml.transform.outputkeys; de invoer van javax.xml.transform.source; de invoer van javax.xml.transform.transformer; de invoer van javax.xml.transform.sax.saxsource; de invoer van javax.xml.transform.sax.saxtransformerfactory; de invoer van javax.xml.transform.stream.streamresult; de invoer van org.xml.sax.inputsoCom.thoughtworks.xstream.xstream bron; de invoer com.thoughtworks.xstream.annotations.xstreamalias; de invoer van com.thoughtworks.xstream.annotations.xstreamasattribute; de invoer van com.thoughtworks.xstream.annotations.xstreamimplicit; de invoer van com.thoughtworks.xstream.annotations.xstreamomitfield; de invoer van com.thoughtworks.xstream.io.xml.staxdriver; de cursus (publiek xstreamtester statische leegte belangrijkste (reeks parameters []) {xstreamtester instrument = nieuwe xstreamtester (); de rivier xstream = nieuwe XI (nieuwe staxdriver ()); de Studenten = tester. Getstudentdetails (); de River. Processannotations (studenten.); ///////tegen de omschakeling van XML - string XML - = xstream. XML (studenten); het systeem. Uit de leegte fac (formatxml (x.Ml)); getstudentdetails () {} particuliere studenten studenten = nieuwe studenten (""); de studenten. Addnote (nieuwe noot ("de eerste", "mijn eerste opdracht."); de studenten. Addnote (nieuwe noot ("tweede", "Ik ben een tweede taak.")); apparatuur (studenten. 1); de studenten;}. (... Formatxml XML) {proberen {transformatoren in serie = saxtransformerfactory. Newinstance () (); de programma 's. Newtransformer bijgehouden. Setoutputproperty (outputkeys.indent, "ja"); een programma. Setoutputproperty ("(HTTP://XML -. Apache. Org /xslt} streepje" en "2"); de bron xmlsource = nieuwe SAXSource (nieuwe inputsource (nieuw uit de reeks bytes (xml - input - stroom. Getbytes ());De resultaten van de nieuwe StreamResult res = (nieuwe bytearrayoutputstream ()); een seriesprayer. Veranderen (xmlsource, res); weer een nieuwe reeks (((byte - output -) onderzoek getoutputstream ()). Tobytearray ());} vangst (abnormale) {}}} terug; @ xstreamalias ("de Studenten") studenten {@ xstreamalias ("')" xstreamasattribute string studentname; @ xstreamimplicit privé - lijst < noot > toelichting = nieuwe arraylist < noot > (); de sociale bijstand (string naam) {naam} this.studentname =; de leegte addnote (noot) {toelichting toegevoegd (noot.);} {string getname () studentname;} beursgenoteerde < noot > getnotes () {De terugkeer van enkele;} @ xstreamomitfield particuliere int; de openbare gettype () {} int vormen; de leegte van die soorten (int) {this.type = type;}} @ xstreamalias ("nota") aantekeningen (privé - string string titel; beschrijving; de aandacht van het publiek (string titel beschrijving van this.title) {de titel van this.description = =; beschrijving van de string gettitle;} {} {titel (); de string getdescription () een beschrijving van de resultaten;}},,,, het gebruik van die klasse opgenomen als volgt:, C: \\ \\ \\ xstream_workspace COM tutorialspoint xstream> xstreamtester.java opgenomen, die Nu xstreamtester resultaten zien: xstream_workspace C, C:Om, tutorialspoint, xstream> Java xstreamtester, en te controleren of de produktie als volgt:,, <?De XML - = "1" codering = "utf - 8"?> < naam van de student = "van de" > < noot > < titel > de eerste < /titel > < beschrijving van > mijn eerste opdracht. < /beschrijving > < /noot > < noot > < titel > tweede < /titel > < beschrijving van > mijn tweede missie. < /beschrijving > < /noot > < /studenten > om de xstream kader in de toelichting, moet je nog de volgende beschikking in XML - bijgehouden. Processannotations (studenten, xstream. Klasse); of, xstream autodetectannotations (echt); en
XI - toelichting op de
Previous:Xstream die