Java之使JavaBean實體類擁有遍歷和流Stream的能力

有時候希望能夠像遍歷Map一樣的遍歷JavaBean的屬性名稱和屬性值且能夠像操作流Stream一樣去操作,特此寫了兩個工具類,暫時只有遍歷和Stream的功能,讀者如果有需要,可以繼續擴展這個實現類,使之實現多個功能接口即可。


目錄

第一步:接口(讀者可直接拷貝)

第二步:實現類(讀者可直接拷貝即可)

第三步:讓你的實體類繼承第二步的實現類。完畢!實體已經有了遍歷和Steam能力。

第四步:測試,可以進行遍歷和Stream的操作

第五步:測試結果:



第一步:接口(讀者可直接拷貝)

package com.longshine.clearancepay.commons.foreach;

import java.util.ConcurrentModificationException;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.function.BiConsumer;

/**
 * 遍歷接口
 *
 * @author sunziwen
 * 2019/6/12 15:34
 * @version 1.0
 **/
public interface IEach<K, V> {
    Set<Map.Entry<K, V>> entrySet();
    default void forEach(BiConsumer<? super K, ? super V> action) {
        Objects.requireNonNull(action);
        for (Map.Entry<K, V> entry : entrySet()) {
            K k;
            V v;
            try {
                k = entry.getKey();
                v = entry.getValue();
            } catch (IllegalStateException ise) {
                // this usually means the entry is no longer in the map.
                throw new ConcurrentModificationException(ise);
            }
            action.accept(k, v);
        }
    }
}

第二步:實現類(讀者可直接拷貝即可)

package com.longshine.clearancepay.commons.foreach;

import cn.hutool.core.bean.BeanUtil;

import java.util.Map;
import java.util.Set;

/**
 * 實體增強
 *
 * @author sunziwen
 * @version 1.0
 * @date 2019/6/13 8:27
 **/
public class IModel implements IEach<String, Object> {
    @Override
    public Set<Map.Entry<String, Object>> entrySet() {
        Map<String, Object> map = BeanUtil.beanToMap(this);
        return map.entrySet();
    }
}

第三步:讓你的實體類繼承第二步的實現類。完畢!實體已經有了遍歷和Steam能力。

package com.longshine.foreach.controller;

import com.longshine.clearancepay.commons.foreach.IModel;
import lombok.*;


/**
 * 學生實體類
 *
 * @author sunziwen
 * @version 1.0
 * @date 2019/5/30 14:11
 **/
@EqualsAndHashCode(callSuper = true)
@Data
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
public class Student extends IModel {
    private String name;
    private Integer age;
    private String address;
    private String school;
}

第四步:測試,可以進行遍歷和Stream的操作

package com.longshine.nashorn.controller;

import com.longshine.foreach.controller.Student;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;

/**
 * 測試
 *
 * @author sunziwen
 * @version 1.0
 * @date 2019/6/10 14:39
 **/
public class Main {

    public static void main(String args[]) {
        //構建實體
        Student student = Student.builder()
                                 .name("張無忌")
                                 .age(16)
                                 .address("冰火島")
                                 .school("明教")
                                 .build();
        //遍歷實體類
        student.forEach((k, v) -> System.out.println(k + ":" + v));
        //操作實體流
        student.entrySet()
               .stream()
               .findFirst()
               .ifPresent(System.out::println);

        //構建Student集合
        List<Student> students = IntStream.range(0, 5)
                                          .collect(
                                                  ArrayList::new,
                                                  (x, y) -> x.add(Student.builder()
                                                                         .name("張無忌"+y)
                                                                         .age(16+y)
                                                                         .address("冰火島"+y)
                                                                         .school("明教"+y)
                                                                         .build()),
                                                  ArrayList::addAll);
        students.stream()
                .flatMap(x -> x.entrySet().stream())
                .forEach(System.out::println);
    }

}

第五步:測試結果:

D:\Java\jdk1.8.0_121\bin\java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:54701,suspend=y,server=n -Dfile.encoding=UTF-8 -classpath "D:\Java\jdk1.8.0_121\jre\lib\charsets.jar;D:\Java\jdk1.8.0_121\jre\lib\deploy.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\access-bridge-64.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\cldrdata.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\dnsns.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\jaccess.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\jfxrt.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\localedata.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\nashorn.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\sunec.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\sunjce_provider.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\sunmscapi.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\sunpkcs11.jar;D:\Java\jdk1.8.0_121\jre\lib\ext\zipfs.jar;D:\Java\jdk1.8.0_121\jre\lib\javaws.jar;D:\Java\jdk1.8.0_121\jre\lib\jce.jar;D:\Java\jdk1.8.0_121\jre\lib\jfr.jar;D:\Java\jdk1.8.0_121\jre\lib\jfxswt.jar;D:\Java\jdk1.8.0_121\jre\lib\jsse.jar;D:\Java\jdk1.8.0_121\jre\lib\management-agent.jar;D:\Java\jdk1.8.0_121\jre\lib\plugin.jar;D:\Java\jdk1.8.0_121\jre\lib\resources.jar;D:\Java\jdk1.8.0_121\jre\lib\rt.jar;C:\Users\nijiajin\Desktop\clearance-pay\target\classes;C:\Users\nijiajin\.IntelliJIdea2017.2\config\javascript\extLibs\http_cdn.staticfile.org_jquery_3.2.1_jquery.js;C:\Users\nijiajin\.IntelliJIdea2017.2\config\javascript\extLibs\http_cdn.staticfile.org_popper.js_1.12.5_umd_popper.js;C:\Users\nijiajin\.IntelliJIdea2017.2\config\javascript\extLibs\http_cdn.staticfile.org_twitter-bootstrap_4.1.0_js_bootstrap.js;C:\Users\nijiajin\.IntelliJIdea2017.2\config\javascript\extLibs\http_cdn.staticfile.org_vue_2.2.2_vue.js;C:\Users\nijiajin\Desktop\clearance-pay\src\main\resources\static\js\underscore.js;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot-starter-data-redis\2.1.1.RELEASE\spring-boot-starter-data-redis-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot-starter\2.1.1.RELEASE\spring-boot-starter-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot\2.1.1.RELEASE\spring-boot-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.1.1.RELEASE\spring-boot-starter-logging-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.11.1\log4j-to-slf4j-2.11.1.jar;C:\Users\nijiajin\.m2\repository\org\apache\logging\log4j\log4j-api\2.11.1\log4j-api-2.11.1.jar;C:\Users\nijiajin\.m2\repository\org\slf4j\jul-to-slf4j\1.7.25\jul-to-slf4j-1.7.25.jar;C:\Users\nijiajin\.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\nijiajin\.m2\repository\org\yaml\snakeyaml\1.23\snakeyaml-1.23.jar;C:\Users\nijiajin\.m2\repository\org\springframework\data\spring-data-redis\2.1.3.RELEASE\spring-data-redis-2.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\data\spring-data-keyvalue\2.1.3.RELEASE\spring-data-keyvalue-2.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\data\spring-data-commons\2.1.3.RELEASE\spring-data-commons-2.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-tx\5.1.3.RELEASE\spring-tx-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-oxm\5.1.3.RELEASE\spring-oxm-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-context-support\5.1.3.RELEASE\spring-context-support-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\io\lettuce\lettuce-core\5.1.3.RELEASE\lettuce-core-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\io\projectreactor\reactor-core\3.2.3.RELEASE\reactor-core-3.2.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\reactivestreams\reactive-streams\1.0.2\reactive-streams-1.0.2.jar;C:\Users\nijiajin\.m2\repository\io\netty\netty-common\4.1.31.Final\netty-common-4.1.31.Final.jar;C:\Users\nijiajin\.m2\repository\io\netty\netty-transport\4.1.31.Final\netty-transport-4.1.31.Final.jar;C:\Users\nijiajin\.m2\repository\io\netty\netty-buffer\4.1.31.Final\netty-buffer-4.1.31.Final.jar;C:\Users\nijiajin\.m2\repository\io\netty\netty-resolver\4.1.31.Final\netty-resolver-4.1.31.Final.jar;C:\Users\nijiajin\.m2\repository\io\netty\netty-handler\4.1.31.Final\netty-handler-4.1.31.Final.jar;C:\Users\nijiajin\.m2\repository\io\netty\netty-codec\4.1.31.Final\netty-codec-4.1.31.Final.jar;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.1.1.RELEASE\spring-boot-starter-web-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.1.1.RELEASE\spring-boot-starter-json-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.9.7\jackson-datatype-jdk8-2.9.7.jar;C:\Users\nijiajin\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.9.7\jackson-datatype-jsr310-2.9.7.jar;C:\Users\nijiajin\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.9.7\jackson-module-parameter-names-2.9.7.jar;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.1.1.RELEASE\spring-boot-starter-tomcat-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.13\tomcat-embed-core-9.0.13.jar;C:\Users\nijiajin\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.13\tomcat-embed-el-9.0.13.jar;C:\Users\nijiajin\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.13\tomcat-embed-websocket-9.0.13.jar;C:\Users\nijiajin\.m2\repository\org\hibernate\validator\hibernate-validator\6.0.13.Final\hibernate-validator-6.0.13.Final.jar;C:\Users\nijiajin\.m2\repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;C:\Users\nijiajin\.m2\repository\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-web\5.1.3.RELEASE\spring-web-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-beans\5.1.3.RELEASE\spring-beans-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-webmvc\5.1.3.RELEASE\spring-webmvc-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-context\5.1.3.RELEASE\spring-context-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-expression\5.1.3.RELEASE\spring-expression-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-starter\2.0.1\mybatis-spring-boot-starter-2.0.1.jar;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.1.1.RELEASE\spring-boot-starter-jdbc-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\com\zaxxer\HikariCP\3.2.0\HikariCP-3.2.0.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-jdbc\5.1.3.RELEASE\spring-jdbc-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\2.0.1\mybatis-spring-boot-autoconfigure-2.0.1.jar;C:\Users\nijiajin\.m2\repository\org\mybatis\mybatis\3.5.1\mybatis-3.5.1.jar;C:\Users\nijiajin\.m2\repository\org\mybatis\mybatis-spring\2.0.1\mybatis-spring-2.0.1.jar;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot-starter-aop\2.1.1.RELEASE\spring-boot-starter-aop-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-aop\5.1.3.RELEASE\spring-aop-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\aspectj\aspectjweaver\1.9.2\aspectjweaver-1.9.2.jar;C:\Users\nijiajin\.m2\repository\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar;C:\Users\nijiajin\.m2\repository\org\projectlombok\lombok\1.18.4\lombok-1.18.4.jar;C:\Users\nijiajin\.m2\repository\net\bytebuddy\byte-buddy\1.9.5\byte-buddy-1.9.5.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-core\5.1.3.RELEASE\spring-core-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\spring-jcl\5.1.3.RELEASE\spring-jcl-5.1.3.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\cloud\spring-cloud-starter-openfeign\2.0.1.RELEASE\spring-cloud-starter-openfeign-2.0.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\cloud\spring-cloud-starter\2.0.1.RELEASE\spring-cloud-starter-2.0.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\cloud\spring-cloud-context\2.0.1.RELEASE\spring-cloud-context-2.0.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\security\spring-security-rsa\1.0.5.RELEASE\spring-security-rsa-1.0.5.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.56\bcpkix-jdk15on-1.56.jar;C:\Users\nijiajin\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.56\bcprov-jdk15on-1.56.jar;C:\Users\nijiajin\.m2\repository\org\springframework\cloud\spring-cloud-openfeign-core\2.0.1.RELEASE\spring-cloud-openfeign-core-2.0.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\cloud\spring-cloud-netflix-ribbon\2.0.1.RELEASE\spring-cloud-netflix-ribbon-2.0.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\cloud\spring-cloud-netflix-archaius\2.0.1.RELEASE\spring-cloud-netflix-archaius-2.0.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\cloud\spring-cloud-commons\2.0.1.RELEASE\spring-cloud-commons-2.0.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\security\spring-security-crypto\5.1.2.RELEASE\spring-security-crypto-5.1.2.RELEASE.jar;C:\Users\nijiajin\.m2\repository\io\github\openfeign\feign-core\9.5.1\feign-core-9.5.1.jar;C:\Users\nijiajin\.m2\repository\io\github\openfeign\feign-slf4j\9.5.1\feign-slf4j-9.5.1.jar;C:\Users\nijiajin\.m2\repository\io\github\openfeign\feign-hystrix\9.5.1\feign-hystrix-9.5.1.jar;C:\Users\nijiajin\.m2\repository\com\netflix\archaius\archaius-core\0.6.6\archaius-core-0.6.6.jar;C:\Users\nijiajin\.m2\repository\com\google\code\findbugs\annotations\2.0.0\annotations-2.0.0.jar;C:\Users\nijiajin\.m2\repository\commons-configuration\commons-configuration\1.8\commons-configuration-1.8.jar;C:\Users\nijiajin\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;C:\Users\nijiajin\.m2\repository\com\netflix\hystrix\hystrix-core\1.4.26\hystrix-core-1.4.26.jar;C:\Users\nijiajin\.m2\repository\io\reactivex\rxjava\1.3.8\rxjava-1.3.8.jar;C:\Users\nijiajin\.m2\repository\io\github\openfeign\feign-java8\9.5.1\feign-java8-9.5.1.jar;C:\Users\nijiajin\.m2\repository\com\alibaba\fastjson\1.2.52\fastjson-1.2.52.jar;C:\Users\nijiajin\.m2\repository\com\alibaba\druid\1.0.19\druid-1.0.19.jar;D:\Java\jdk1.8.0_121\lib\jconsole.jar;D:\Java\jdk1.8.0_121\lib\tools.jar;C:\Users\nijiajin\.m2\repository\com\baomidou\mybatis-plus-boot-starter\3.0.6\mybatis-plus-boot-starter-3.0.6.jar;C:\Users\nijiajin\.m2\repository\com\baomidou\mybatis-plus\3.0.6\mybatis-plus-3.0.6.jar;C:\Users\nijiajin\.m2\repository\com\baomidou\mybatis-plus-extension\3.0.6\mybatis-plus-extension-3.0.6.jar;C:\Users\nijiajin\.m2\repository\com\baomidou\mybatis-plus-core\3.0.6\mybatis-plus-core-3.0.6.jar;C:\Users\nijiajin\.m2\repository\com\baomidou\mybatis-plus-annotation\3.0.6\mybatis-plus-annotation-3.0.6.jar;C:\Users\nijiajin\.m2\repository\com\github\jsqlparser\jsqlparser\1.2\jsqlparser-1.2.jar;C:\Users\nijiajin\.m2\repository\com\baomidou\mybatis-plus-generator\3.0.6\mybatis-plus-generator-3.0.6.jar;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.1.1.RELEASE\spring-boot-autoconfigure-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot-configuration-processor\2.1.1.RELEASE\spring-boot-configuration-processor-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\nijiajin\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\nijiajin\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\nijiajin\.m2\repository\cn\hutool\hutool-all\4.1.19\hutool-all-4.1.19.jar;C:\Users\nijiajin\.m2\repository\commons-fileupload\commons-fileupload\1.3.2\commons-fileupload-1.3.2.jar;C:\Users\nijiajin\.m2\repository\commons-io\commons-io\2.2\commons-io-2.2.jar;C:\Users\nijiajin\.m2\repository\org\apache\commons\commons-lang3\3.5\commons-lang3-3.5.jar;C:\Users\nijiajin\.m2\repository\commons-beanutils\commons-beanutils\1.8.3\commons-beanutils-1.8.3.jar;C:\Users\nijiajin\.m2\repository\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;C:\Users\nijiajin\.m2\repository\com\alipay\sdk\alipay-sdk-java\3.4.49.ALL\alipay-sdk-java-3.4.49.ALL.jar;C:\Users\nijiajin\.m2\repository\io\jsonwebtoken\jjwt\0.9.1\jjwt-0.9.1.jar;C:\Users\nijiajin\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.9.7\jackson-databind-2.9.7.jar;C:\Users\nijiajin\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;C:\Users\nijiajin\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.9.7\jackson-core-2.9.7.jar;C:\Users\nijiajin\.m2\repository\com\aliyun\oss\aliyun-sdk-oss\2.8.3\aliyun-sdk-oss-2.8.3.jar;C:\Users\nijiajin\.m2\repository\org\apache\httpcomponents\httpclient\4.5.6\httpclient-4.5.6.jar;C:\Users\nijiajin\.m2\repository\org\apache\httpcomponents\httpcore\4.4.10\httpcore-4.4.10.jar;C:\Users\nijiajin\.m2\repository\org\jdom\jdom\1.1\jdom-1.1.jar;C:\Users\nijiajin\.m2\repository\com\aliyun\aliyun-java-sdk-core\3.7.1\aliyun-java-sdk-core-3.7.1.jar;C:\Users\nijiajin\.m2\repository\org\json\json\20170516\json-20170516.jar;C:\Users\nijiajin\.m2\repository\com\auth0\java-jwt\3.4.1\java-jwt-3.4.1.jar;C:\Users\nijiajin\.m2\repository\commons-codec\commons-codec\1.11\commons-codec-1.11.jar;C:\Users\nijiajin\.m2\repository\com\aliyun\aliyun-java-sdk-dysmsapi\1.1.0\aliyun-java-sdk-dysmsapi-1.1.0.jar;C:\Users\nijiajin\.m2\repository\org\apache\poi\poi-ooxml\3.17\poi-ooxml-3.17.jar;C:\Users\nijiajin\.m2\repository\org\apache\poi\poi\3.17\poi-3.17.jar;C:\Users\nijiajin\.m2\repository\org\apache\commons\commons-collections4\4.1\commons-collections4-4.1.jar;C:\Users\nijiajin\.m2\repository\org\apache\poi\poi-ooxml-schemas\3.17\poi-ooxml-schemas-3.17.jar;C:\Users\nijiajin\.m2\repository\org\apache\xmlbeans\xmlbeans\2.6.0\xmlbeans-2.6.0.jar;C:\Users\nijiajin\.m2\repository\com\github\virtuald\curvesapi\1.04\curvesapi-1.04.jar;C:\Users\nijiajin\.m2\repository\com\github\jsonzou\jmockdata\4.1.2\jmockdata-4.1.2.jar;C:\Users\nijiajin\.m2\repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;C:\Users\nijiajin\.m2\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;C:\Users\nijiajin\.m2\repository\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;C:\Users\nijiajin\.m2\repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;C:\Users\nijiajin\.m2\repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;C:\Users\nijiajin\.m2\repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;C:\Users\nijiajin\.m2\repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;C:\Users\nijiajin\.m2\repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;C:\Users\nijiajin\.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\nijiajin\.m2\repository\com\fasterxml\classmate\1.4.0\classmate-1.4.0.jar;C:\Users\nijiajin\.m2\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;C:\Users\nijiajin\.m2\repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;C:\Users\nijiajin\.m2\repository\com\github\xiaoymin\swagger-bootstrap-ui\1.8.8\swagger-bootstrap-ui-1.8.8.jar;C:\Users\nijiajin\.m2\repository\com\thoughtworks\xstream\xstream\1.4.10\xstream-1.4.10.jar;C:\Users\nijiajin\.m2\repository\xmlpull\xmlpull\1.1.3.1\xmlpull-1.1.3.1.jar;C:\Users\nijiajin\.m2\repository\xpp3\xpp3_min\1.1.4c\xpp3_min-1.1.4c.jar;C:\Users\nijiajin\.m2\repository\com\squareup\retrofit2\converter-simplexml\2.3.0\converter-simplexml-2.3.0.jar;C:\Users\nijiajin\.m2\repository\com\squareup\retrofit2\retrofit\2.3.0\retrofit-2.3.0.jar;C:\Users\nijiajin\.m2\repository\com\squareup\okhttp3\okhttp\3.8.0\okhttp-3.8.0.jar;C:\Users\nijiajin\.m2\repository\com\squareup\okio\okio\1.13.0\okio-1.13.0.jar;C:\Users\nijiajin\.m2\repository\org\simpleframework\simple-xml\2.7.1\simple-xml-2.7.1.jar;C:\Users\nijiajin\.m2\repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar;C:\Users\nijiajin\.m2\repository\stax\stax\1.2.0\stax-1.2.0.jar;C:\Users\nijiajin\.m2\repository\xpp3\xpp3\1.1.3.3\xpp3-1.1.3.3.jar;C:\Users\nijiajin\.m2\repository\org\springframework\boot\spring-boot-starter-thymeleaf\2.1.1.RELEASE\spring-boot-starter-thymeleaf-2.1.1.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\thymeleaf\thymeleaf-spring5\3.0.11.RELEASE\thymeleaf-spring5-3.0.11.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\thymeleaf\thymeleaf\3.0.11.RELEASE\thymeleaf-3.0.11.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\attoparser\attoparser\2.0.5.RELEASE\attoparser-2.0.5.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\unbescape\unbescape\1.1.6.RELEASE\unbescape-1.1.6.RELEASE.jar;C:\Users\nijiajin\.m2\repository\org\thymeleaf\extras\thymeleaf-extras-java8time\3.0.2.RELEASE\thymeleaf-extras-java8time-3.0.2.RELEASE.jar;C:\Users\nijiajin\.m2\repository\io\vavr\vavr\0.9.0\vavr-0.9.0.jar;C:\Users\nijiajin\.m2\repository\io\vavr\vavr-match\0.9.0\vavr-match-0.9.0.jar;D:\IntelliJ IDEA 2017.2.5\lib\idea_rt.jar" com.longshine.nashorn.controller.Main
Connected to the target VM, address: '127.0.0.1:54701', transport: 'socket'
address:冰火島
school:明教
name:張無忌
age:16
address=冰火島
Disconnected from the target VM, address: '127.0.0.1:54701', transport: 'socket'
address=冰火島0
school=明教0
name=張無忌0
age=16
address=冰火島1
school=明教1
name=張無忌1
age=17
address=冰火島2
school=明教2
name=張無忌2
age=18
address=冰火島3
school=明教3
name=張無忌3
age=19
address=冰火島4
school=明教4
name=張無忌4
age=20

Process finished with exit code 0

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章