Commit 9e0d66b1b0c80474b734f0bf3919c36b669dca41

Authored by 陶汉栋
0 parents
Exists in master

no message

springboot/.gitignore 0 → 100644
  1 +++ a/springboot/.gitignore
... ... @@ -0,0 +1,25 @@
  1 +/target/
  2 +!.mvn/wrapper/maven-wrapper.jar
  3 +
  4 +### STS ###
  5 +.apt_generated
  6 +.classpath
  7 +.factorypath
  8 +.project
  9 +.settings
  10 +.springBeans
  11 +.sts4-cache
  12 +
  13 +### IntelliJ IDEA ###
  14 +.idea
  15 +*.iws
  16 +*.iml
  17 +*.ipr
  18 +
  19 +### NetBeans ###
  20 +/nbproject/private/
  21 +/nbbuild/
  22 +/dist/
  23 +/nbdist/
  24 +/.nb-gradle/
  25 +/build/
... ...
springboot/.mvn/wrapper/MavenWrapperDownloader.java 0 → 100644
  1 +++ a/springboot/.mvn/wrapper/MavenWrapperDownloader.java
... ... @@ -0,0 +1,114 @@
  1 +/*
  2 +Licensed to the Apache Software Foundation (ASF) under one
  3 +or more contributor license agreements. See the NOTICE file
  4 +distributed with this work for additional information
  5 +regarding copyright ownership. The ASF licenses this file
  6 +to you under the Apache License, Version 2.0 (the
  7 +"License"); you may not use this file except in compliance
  8 +with the License. You may obtain a copy of the License at
  9 +
  10 + http://www.apache.org/licenses/LICENSE-2.0
  11 +
  12 +Unless required by applicable law or agreed to in writing,
  13 +software distributed under the License is distributed on an
  14 +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15 +KIND, either express or implied. See the License for the
  16 +specific language governing permissions and limitations
  17 +under the License.
  18 +*/
  19 +
  20 +import java.io.File;
  21 +import java.io.FileInputStream;
  22 +import java.io.FileOutputStream;
  23 +import java.io.IOException;
  24 +import java.net.URL;
  25 +import java.nio.channels.Channels;
  26 +import java.nio.channels.ReadableByteChannel;
  27 +import java.util.Properties;
  28 +
  29 +public class MavenWrapperDownloader {
  30 +
  31 + /**
  32 + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
  33 + */
  34 + private static final String DEFAULT_DOWNLOAD_URL =
  35 + "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar";
  36 +
  37 + /**
  38 + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
  39 + * use instead of the default one.
  40 + */
  41 + private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
  42 + ".mvn/wrapper/maven-wrapper.properties";
  43 +
  44 + /**
  45 + * Path where the maven-wrapper.jar will be saved to.
  46 + */
  47 + private static final String MAVEN_WRAPPER_JAR_PATH =
  48 + ".mvn/wrapper/maven-wrapper.jar";
  49 +
  50 + /**
  51 + * Name of the property which should be used to override the default download url for the wrapper.
  52 + */
  53 + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
  54 +
  55 + public static void main(String args[]) {
  56 + System.out.println("- Downloader started");
  57 + File baseDirectory = new File(args[0]);
  58 + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
  59 +
  60 + // If the maven-wrapper.properties exists, read it and check if it contains a custom
  61 + // wrapperUrl parameter.
  62 + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
  63 + String url = DEFAULT_DOWNLOAD_URL;
  64 + if (mavenWrapperPropertyFile.exists()) {
  65 + FileInputStream mavenWrapperPropertyFileInputStream = null;
  66 + try {
  67 + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
  68 + Properties mavenWrapperProperties = new Properties();
  69 + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
  70 + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
  71 + } catch (IOException e) {
  72 + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
  73 + } finally {
  74 + try {
  75 + if (mavenWrapperPropertyFileInputStream != null) {
  76 + mavenWrapperPropertyFileInputStream.close();
  77 + }
  78 + } catch (IOException e) {
  79 + // Ignore ...
  80 + }
  81 + }
  82 + }
  83 + System.out.println("- Downloading from: : " + url);
  84 +
  85 + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
  86 + if (!outputFile.getParentFile().exists()) {
  87 + if (!outputFile.getParentFile().mkdirs()) {
  88 + System.out.println(
  89 + "- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
  90 + }
  91 + }
  92 + System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
  93 + try {
  94 + downloadFileFromURL(url, outputFile);
  95 + System.out.println("Done");
  96 + System.exit(0);
  97 + } catch (Throwable e) {
  98 + System.out.println("- Error downloading");
  99 + e.printStackTrace();
  100 + System.exit(1);
  101 + }
  102 + }
  103 +
  104 + private static void downloadFileFromURL(String urlString, File destination) throws Exception {
  105 + URL website = new URL(urlString);
  106 + ReadableByteChannel rbc;
  107 + rbc = Channels.newChannel(website.openStream());
  108 + FileOutputStream fos = new FileOutputStream(destination);
  109 + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
  110 + fos.close();
  111 + rbc.close();
  112 + }
  113 +
  114 +}
... ...
springboot/.mvn/wrapper/maven-wrapper.jar 0 → 100644
No preview for this file type
springboot/.mvn/wrapper/maven-wrapper.properties 0 → 100644
  1 +++ a/springboot/.mvn/wrapper/maven-wrapper.properties
... ... @@ -0,0 +1 @@
  1 +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
... ...
springboot/mvnw 0 → 100644
  1 +++ a/springboot/mvnw
... ... @@ -0,0 +1,286 @@
  1 +#!/bin/sh
  2 +# ----------------------------------------------------------------------------
  3 +# Licensed to the Apache Software Foundation (ASF) under one
  4 +# or more contributor license agreements. See the NOTICE file
  5 +# distributed with this work for additional information
  6 +# regarding copyright ownership. The ASF licenses this file
  7 +# to you under the Apache License, Version 2.0 (the
  8 +# "License"); you may not use this file except in compliance
  9 +# with the License. You may obtain a copy of the License at
  10 +#
  11 +# http://www.apache.org/licenses/LICENSE-2.0
  12 +#
  13 +# Unless required by applicable law or agreed to in writing,
  14 +# software distributed under the License is distributed on an
  15 +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  16 +# KIND, either express or implied. See the License for the
  17 +# specific language governing permissions and limitations
  18 +# under the License.
  19 +# ----------------------------------------------------------------------------
  20 +
  21 +# ----------------------------------------------------------------------------
  22 +# Maven2 Start Up Batch script
  23 +#
  24 +# Required ENV vars:
  25 +# ------------------
  26 +# JAVA_HOME - location of a JDK home dir
  27 +#
  28 +# Optional ENV vars
  29 +# -----------------
  30 +# M2_HOME - location of maven2's installed home dir
  31 +# MAVEN_OPTS - parameters passed to the Java VM when running Maven
  32 +# e.g. to debug Maven itself, use
  33 +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
  34 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
  35 +# ----------------------------------------------------------------------------
  36 +
  37 +if [ -z "$MAVEN_SKIP_RC" ] ; then
  38 +
  39 + if [ -f /etc/mavenrc ] ; then
  40 + . /etc/mavenrc
  41 + fi
  42 +
  43 + if [ -f "$HOME/.mavenrc" ] ; then
  44 + . "$HOME/.mavenrc"
  45 + fi
  46 +
  47 +fi
  48 +
  49 +# OS specific support. $var _must_ be set to either true or false.
  50 +cygwin=false;
  51 +darwin=false;
  52 +mingw=false
  53 +case "`uname`" in
  54 + CYGWIN*) cygwin=true ;;
  55 + MINGW*) mingw=true;;
  56 + Darwin*) darwin=true
  57 + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
  58 + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
  59 + if [ -z "$JAVA_HOME" ]; then
  60 + if [ -x "/usr/libexec/java_home" ]; then
  61 + export JAVA_HOME="`/usr/libexec/java_home`"
  62 + else
  63 + export JAVA_HOME="/Library/Java/Home"
  64 + fi
  65 + fi
  66 + ;;
  67 +esac
  68 +
  69 +if [ -z "$JAVA_HOME" ] ; then
  70 + if [ -r /etc/gentoo-release ] ; then
  71 + JAVA_HOME=`java-config --jre-home`
  72 + fi
  73 +fi
  74 +
  75 +if [ -z "$M2_HOME" ] ; then
  76 + ## resolve links - $0 may be a link to maven's home
  77 + PRG="$0"
  78 +
  79 + # need this for relative symlinks
  80 + while [ -h "$PRG" ] ; do
  81 + ls=`ls -ld "$PRG"`
  82 + link=`expr "$ls" : '.*-> \(.*\)$'`
  83 + if expr "$link" : '/.*' > /dev/null; then
  84 + PRG="$link"
  85 + else
  86 + PRG="`dirname "$PRG"`/$link"
  87 + fi
  88 + done
  89 +
  90 + saveddir=`pwd`
  91 +
  92 + M2_HOME=`dirname "$PRG"`/..
  93 +
  94 + # make it fully qualified
  95 + M2_HOME=`cd "$M2_HOME" && pwd`
  96 +
  97 + cd "$saveddir"
  98 + # echo Using m2 at $M2_HOME
  99 +fi
  100 +
  101 +# For Cygwin, ensure paths are in UNIX format before anything is touched
  102 +if $cygwin ; then
  103 + [ -n "$M2_HOME" ] &&
  104 + M2_HOME=`cygpath --unix "$M2_HOME"`
  105 + [ -n "$JAVA_HOME" ] &&
  106 + JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
  107 + [ -n "$CLASSPATH" ] &&
  108 + CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
  109 +fi
  110 +
  111 +# For Mingw, ensure paths are in UNIX format before anything is touched
  112 +if $mingw ; then
  113 + [ -n "$M2_HOME" ] &&
  114 + M2_HOME="`(cd "$M2_HOME"; pwd)`"
  115 + [ -n "$JAVA_HOME" ] &&
  116 + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
  117 + # TODO classpath?
  118 +fi
  119 +
  120 +if [ -z "$JAVA_HOME" ]; then
  121 + javaExecutable="`which javac`"
  122 + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
  123 + # readlink(1) is not available as standard on Solaris 10.
  124 + readLink=`which readlink`
  125 + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
  126 + if $darwin ; then
  127 + javaHome="`dirname \"$javaExecutable\"`"
  128 + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
  129 + else
  130 + javaExecutable="`readlink -f \"$javaExecutable\"`"
  131 + fi
  132 + javaHome="`dirname \"$javaExecutable\"`"
  133 + javaHome=`expr "$javaHome" : '\(.*\)/bin'`
  134 + JAVA_HOME="$javaHome"
  135 + export JAVA_HOME
  136 + fi
  137 + fi
  138 +fi
  139 +
  140 +if [ -z "$JAVACMD" ] ; then
  141 + if [ -n "$JAVA_HOME" ] ; then
  142 + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
  143 + # IBM's JDK on AIX uses strange locations for the executables
  144 + JAVACMD="$JAVA_HOME/jre/sh/java"
  145 + else
  146 + JAVACMD="$JAVA_HOME/bin/java"
  147 + fi
  148 + else
  149 + JAVACMD="`which java`"
  150 + fi
  151 +fi
  152 +
  153 +if [ ! -x "$JAVACMD" ] ; then
  154 + echo "Error: JAVA_HOME is not defined correctly." >&2
  155 + echo " We cannot execute $JAVACMD" >&2
  156 + exit 1
  157 +fi
  158 +
  159 +if [ -z "$JAVA_HOME" ] ; then
  160 + echo "Warning: JAVA_HOME environment variable is not set."
  161 +fi
  162 +
  163 +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
  164 +
  165 +# traverses directory structure from process work directory to filesystem root
  166 +# first directory with .mvn subdirectory is considered project base directory
  167 +find_maven_basedir() {
  168 +
  169 + if [ -z "$1" ]
  170 + then
  171 + echo "Path not specified to find_maven_basedir"
  172 + return 1
  173 + fi
  174 +
  175 + basedir="$1"
  176 + wdir="$1"
  177 + while [ "$wdir" != '/' ] ; do
  178 + if [ -d "$wdir"/.mvn ] ; then
  179 + basedir=$wdir
  180 + break
  181 + fi
  182 + # workaround for JBEAP-8937 (on Solaris 10/Sparc)
  183 + if [ -d "${wdir}" ]; then
  184 + wdir=`cd "$wdir/.."; pwd`
  185 + fi
  186 + # end of workaround
  187 + done
  188 + echo "${basedir}"
  189 +}
  190 +
  191 +# concatenates all lines of a file
  192 +concat_lines() {
  193 + if [ -f "$1" ]; then
  194 + echo "$(tr -s '\n' ' ' < "$1")"
  195 + fi
  196 +}
  197 +
  198 +BASE_DIR=`find_maven_basedir "$(pwd)"`
  199 +if [ -z "$BASE_DIR" ]; then
  200 + exit 1;
  201 +fi
  202 +
  203 +##########################################################################################
  204 +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
  205 +# This allows using the maven wrapper in projects that prohibit checking in binary data.
  206 +##########################################################################################
  207 +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
  208 + if [ "$MVNW_VERBOSE" = true ]; then
  209 + echo "Found .mvn/wrapper/maven-wrapper.jar"
  210 + fi
  211 +else
  212 + if [ "$MVNW_VERBOSE" = true ]; then
  213 + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
  214 + fi
  215 + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
  216 + while IFS="=" read key value; do
  217 + case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
  218 + esac
  219 + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
  220 + if [ "$MVNW_VERBOSE" = true ]; then
  221 + echo "Downloading from: $jarUrl"
  222 + fi
  223 + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
  224 +
  225 + if command -v wget > /dev/null; then
  226 + if [ "$MVNW_VERBOSE" = true ]; then
  227 + echo "Found wget ... using wget"
  228 + fi
  229 + wget "$jarUrl" -O "$wrapperJarPath"
  230 + elif command -v curl > /dev/null; then
  231 + if [ "$MVNW_VERBOSE" = true ]; then
  232 + echo "Found curl ... using curl"
  233 + fi
  234 + curl -o "$wrapperJarPath" "$jarUrl"
  235 + else
  236 + if [ "$MVNW_VERBOSE" = true ]; then
  237 + echo "Falling back to using Java to download"
  238 + fi
  239 + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
  240 + if [ -e "$javaClass" ]; then
  241 + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
  242 + if [ "$MVNW_VERBOSE" = true ]; then
  243 + echo " - Compiling MavenWrapperDownloader.java ..."
  244 + fi
  245 + # Compiling the Java class
  246 + ("$JAVA_HOME/bin/javac" "$javaClass")
  247 + fi
  248 + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
  249 + # Running the downloader
  250 + if [ "$MVNW_VERBOSE" = true ]; then
  251 + echo " - Running MavenWrapperDownloader.java ..."
  252 + fi
  253 + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
  254 + fi
  255 + fi
  256 + fi
  257 +fi
  258 +##########################################################################################
  259 +# End of extension
  260 +##########################################################################################
  261 +
  262 +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
  263 +if [ "$MVNW_VERBOSE" = true ]; then
  264 + echo $MAVEN_PROJECTBASEDIR
  265 +fi
  266 +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
  267 +
  268 +# For Cygwin, switch paths to Windows format before running java
  269 +if $cygwin; then
  270 + [ -n "$M2_HOME" ] &&
  271 + M2_HOME=`cygpath --path --windows "$M2_HOME"`
  272 + [ -n "$JAVA_HOME" ] &&
  273 + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
  274 + [ -n "$CLASSPATH" ] &&
  275 + CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
  276 + [ -n "$MAVEN_PROJECTBASEDIR" ] &&
  277 + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
  278 +fi
  279 +
  280 +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
  281 +
  282 +exec "$JAVACMD" \
  283 + $MAVEN_OPTS \
  284 + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
  285 + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
  286 + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
... ...
springboot/mvnw.cmd 0 → 100644
  1 +++ a/springboot/mvnw.cmd
... ... @@ -0,0 +1,161 @@
  1 +@REM ----------------------------------------------------------------------------
  2 +@REM Licensed to the Apache Software Foundation (ASF) under one
  3 +@REM or more contributor license agreements. See the NOTICE file
  4 +@REM distributed with this work for additional information
  5 +@REM regarding copyright ownership. The ASF licenses this file
  6 +@REM to you under the Apache License, Version 2.0 (the
  7 +@REM "License"); you may not use this file except in compliance
  8 +@REM with the License. You may obtain a copy of the License at
  9 +@REM
  10 +@REM http://www.apache.org/licenses/LICENSE-2.0
  11 +@REM
  12 +@REM Unless required by applicable law or agreed to in writing,
  13 +@REM software distributed under the License is distributed on an
  14 +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15 +@REM KIND, either express or implied. See the License for the
  16 +@REM specific language governing permissions and limitations
  17 +@REM under the License.
  18 +@REM ----------------------------------------------------------------------------
  19 +
  20 +@REM ----------------------------------------------------------------------------
  21 +@REM Maven2 Start Up Batch script
  22 +@REM
  23 +@REM Required ENV vars:
  24 +@REM JAVA_HOME - location of a JDK home dir
  25 +@REM
  26 +@REM Optional ENV vars
  27 +@REM M2_HOME - location of maven2's installed home dir
  28 +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
  29 +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
  30 +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
  31 +@REM e.g. to debug Maven itself, use
  32 +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
  33 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
  34 +@REM ----------------------------------------------------------------------------
  35 +
  36 +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
  37 +@echo off
  38 +@REM set title of command window
  39 +title %0
  40 +@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
  41 +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
  42 +
  43 +@REM set %HOME% to equivalent of $HOME
  44 +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
  45 +
  46 +@REM Execute a user defined script before this one
  47 +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
  48 +@REM check for pre script, once with legacy .bat ending and once with .cmd ending
  49 +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
  50 +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
  51 +:skipRcPre
  52 +
  53 +@setlocal
  54 +
  55 +set ERROR_CODE=0
  56 +
  57 +@REM To isolate internal variables from possible post scripts, we use another setlocal
  58 +@setlocal
  59 +
  60 +@REM ==== START VALIDATION ====
  61 +if not "%JAVA_HOME%" == "" goto OkJHome
  62 +
  63 +echo.
  64 +echo Error: JAVA_HOME not found in your environment. >&2
  65 +echo Please set the JAVA_HOME variable in your environment to match the >&2
  66 +echo location of your Java installation. >&2
  67 +echo.
  68 +goto error
  69 +
  70 +:OkJHome
  71 +if exist "%JAVA_HOME%\bin\java.exe" goto init
  72 +
  73 +echo.
  74 +echo Error: JAVA_HOME is set to an invalid directory. >&2
  75 +echo JAVA_HOME = "%JAVA_HOME%" >&2
  76 +echo Please set the JAVA_HOME variable in your environment to match the >&2
  77 +echo location of your Java installation. >&2
  78 +echo.
  79 +goto error
  80 +
  81 +@REM ==== END VALIDATION ====
  82 +
  83 +:init
  84 +
  85 +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
  86 +@REM Fallback to current working directory if not found.
  87 +
  88 +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
  89 +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
  90 +
  91 +set EXEC_DIR=%CD%
  92 +set WDIR=%EXEC_DIR%
  93 +:findBaseDir
  94 +IF EXIST "%WDIR%"\.mvn goto baseDirFound
  95 +cd ..
  96 +IF "%WDIR%"=="%CD%" goto baseDirNotFound
  97 +set WDIR=%CD%
  98 +goto findBaseDir
  99 +
  100 +:baseDirFound
  101 +set MAVEN_PROJECTBASEDIR=%WDIR%
  102 +cd "%EXEC_DIR%"
  103 +goto endDetectBaseDir
  104 +
  105 +:baseDirNotFound
  106 +set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
  107 +cd "%EXEC_DIR%"
  108 +
  109 +:endDetectBaseDir
  110 +
  111 +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
  112 +
  113 +@setlocal EnableExtensions EnableDelayedExpansion
  114 +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
  115 +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
  116 +
  117 +:endReadAdditionalConfig
  118 +
  119 +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
  120 +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
  121 +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
  122 +
  123 +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
  124 +FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO (
  125 + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
  126 +)
  127 +
  128 +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
  129 +@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
  130 +if exist %WRAPPER_JAR% (
  131 + echo Found %WRAPPER_JAR%
  132 +) else (
  133 + echo Couldn't find %WRAPPER_JAR%, downloading it ...
  134 + echo Downloading from: %DOWNLOAD_URL%
  135 + powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"
  136 + echo Finished downloading %WRAPPER_JAR%
  137 +)
  138 +@REM End of extension
  139 +
  140 +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
  141 +if ERRORLEVEL 1 goto error
  142 +goto end
  143 +
  144 +:error
  145 +set ERROR_CODE=1
  146 +
  147 +:end
  148 +@endlocal & set ERROR_CODE=%ERROR_CODE%
  149 +
  150 +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
  151 +@REM check for post script, once with legacy .bat ending and once with .cmd ending
  152 +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
  153 +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
  154 +:skipRcPost
  155 +
  156 +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
  157 +if "%MAVEN_BATCH_PAUSE%" == "on" pause
  158 +
  159 +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
  160 +
  161 +exit /B %ERROR_CODE%
... ...
springboot/pom.xml 0 → 100644
  1 +++ a/springboot/pom.xml
... ... @@ -0,0 +1,69 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4 + <modelVersion>4.0.0</modelVersion>
  5 + <parent>
  6 + <groupId>org.springframework.boot</groupId>
  7 + <artifactId>spring-boot-starter-parent</artifactId>
  8 + <version>2.1.3.RELEASE</version>
  9 + <relativePath/> <!-- lookup parent from repository -->
  10 + </parent>
  11 + <groupId>com.sincre</groupId>
  12 + <artifactId>springboot</artifactId>
  13 + <version>0.0.1-SNAPSHOT</version>
  14 + <name>springboot</name>
  15 + <description>Demo project for Spring Boot</description>
  16 +
  17 + <properties>
  18 + <java.version>1.8</java.version>
  19 + </properties>
  20 +
  21 + <dependencies>
  22 + <dependency>
  23 + <groupId>org.springframework.boot</groupId>
  24 + <artifactId>spring-boot-starter-web</artifactId>
  25 + </dependency>
  26 +
  27 + <dependency>
  28 + <groupId>org.springframework.boot</groupId>
  29 + <artifactId>spring-boot-starter-test</artifactId>
  30 + <scope>test</scope>
  31 + </dependency>
  32 +
  33 + <!--API文档配置-->
  34 + <dependency>
  35 + <groupId>io.springfox</groupId>
  36 + <artifactId>springfox-swagger-ui</artifactId>
  37 + <version>2.9.2</version>
  38 + </dependency>
  39 +
  40 + <dependency>
  41 + <groupId>io.springfox</groupId>
  42 + <artifactId>springfox-swagger2</artifactId>
  43 + <version>2.9.2</version>
  44 + </dependency>
  45 +
  46 + <dependency>
  47 + <groupId>com.microsoft.sqlserver</groupId>
  48 + <artifactId>mssql-jdbc</artifactId>
  49 + <version>7.2.1.jre8</version>
  50 + <scope>test</scope>
  51 + </dependency>
  52 +
  53 + <dependency>
  54 + <groupId>org.mybatis.spring.boot</groupId>
  55 + <artifactId>mybatis-spring-boot-starter</artifactId>
  56 + <version>2.0.0</version>
  57 + </dependency>
  58 + </dependencies>
  59 +
  60 + <build>
  61 + <plugins>
  62 + <plugin>
  63 + <groupId>org.springframework.boot</groupId>
  64 + <artifactId>spring-boot-maven-plugin</artifactId>
  65 + </plugin>
  66 + </plugins>
  67 + </build>
  68 +
  69 +</project>
... ...
springboot/src/main/java/com/sincre/springboot/SpringbootApplication.java 0 → 100644
  1 +++ a/springboot/src/main/java/com/sincre/springboot/SpringbootApplication.java
... ... @@ -0,0 +1,35 @@
  1 +package com.sincre.springboot;
  2 +
  3 +import org.apache.ibatis.annotations.Mapper;
  4 +import org.mybatis.spring.annotation.MapperScan;
  5 +import org.springframework.boot.SpringApplication;
  6 +import org.springframework.boot.autoconfigure.SpringBootApplication;
  7 +
  8 +import javax.swing.*;
  9 +import java.awt.*;
  10 +
  11 +@MapperScan("com.sincre.springboot.mapper")
  12 +@SpringBootApplication
  13 +public class SpringbootApplication{
  14 +
  15 + public static void main(String[] args) {
  16 +
  17 + SpringApplication.run(SpringbootApplication.class, args);
  18 + System.out.println("classpath:"+new SpringbootApplication().getClass().getResource(""));
  19 +
  20 +// new SpringbootApplication().initFrame();
  21 + }
  22 +
  23 + private void initFrame(){
  24 + JFrame jFrame = new JFrame();
  25 + //设置窗口是否可视
  26 + jFrame.setVisible(true);
  27 +//设置窗口的大小是否可以调节
  28 + jFrame.setResizable(false);
  29 +//设置窗口大小和x,y位置
  30 + jFrame.setBounds(100,100, 600, 800);
  31 +//设置窗口退出则程序退出
  32 + jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  33 + }
  34 +
  35 +}
... ...
springboot/src/main/java/com/sincre/springboot/Swagger2.java 0 → 100644
  1 +++ a/springboot/src/main/java/com/sincre/springboot/Swagger2.java
... ... @@ -0,0 +1,37 @@
  1 +package com.sincre.springboot;
  2 +
  3 +import org.springframework.context.annotation.Bean;
  4 +import org.springframework.context.annotation.Configuration;
  5 +import springfox.documentation.builders.ApiInfoBuilder;
  6 +import springfox.documentation.builders.PathSelectors;
  7 +import springfox.documentation.builders.RequestHandlerSelectors;
  8 +import springfox.documentation.service.ApiInfo;
  9 +import springfox.documentation.spi.DocumentationType;
  10 +import springfox.documentation.spring.web.plugins.Docket;
  11 +import springfox.documentation.swagger2.annotations.EnableSwagger2;
  12 +
  13 +@Configuration
  14 +@EnableSwagger2
  15 +public class Swagger2 {
  16 +
  17 + @Bean
  18 + public Docket createRestApi(){
  19 + return new Docket(DocumentationType.SWAGGER_2)
  20 + .apiInfo(apiInfo())
  21 + .select()
  22 + .apis(RequestHandlerSelectors.basePackage("com.sincre.springboot.controller"))
  23 + .paths(PathSelectors.any())
  24 + .build();
  25 + }
  26 +
  27 + private ApiInfo apiInfo(){
  28 + return new ApiInfoBuilder()
  29 + .title("Spring Boot中使用Swagger2")
  30 + .contact("Mr.Tao")
  31 + .description("")
  32 + .termsOfServiceUrl("")
  33 + .version("1.0")
  34 + .build();
  35 + }
  36 +
  37 +}
... ...
springboot/src/main/java/com/sincre/springboot/controller/UserController.java 0 → 100644
  1 +++ a/springboot/src/main/java/com/sincre/springboot/controller/UserController.java
... ... @@ -0,0 +1,70 @@
  1 +package com.sincre.springboot.controller;
  2 +
  3 +import com.sincre.springboot.model.User;
  4 +import com.sincre.springboot.server.UserServer;
  5 +import com.sincre.springboot.server.UserServerImp;
  6 +import com.sincre.springboot.utils.FileUtils;
  7 +import io.swagger.annotations.Api;
  8 +import io.swagger.annotations.ApiImplicitParam;
  9 +import io.swagger.annotations.ApiImplicitParams;
  10 +import io.swagger.annotations.ApiOperation;
  11 +import org.springframework.beans.factory.annotation.Autowired;
  12 +import org.springframework.ui.Model;
  13 +import org.springframework.web.bind.annotation.*;
  14 +
  15 +import javax.servlet.http.HttpServlet;
  16 +import javax.servlet.http.HttpSession;
  17 +
  18 +@RestController
  19 +@RequestMapping(value = "/user/*")
  20 +@Api(value = "用户信息管理")
  21 +public class UserController {
  22 +
  23 + @Autowired
  24 + UserServer userServer;
  25 +
  26 + @ApiOperation(value = "注册", notes = "注册motes")
  27 + @RequestMapping(method = RequestMethod.GET, value = "register")
  28 + public String regist(String userName, String password) {
  29 + User user = userServer.isExit(userName);
  30 + System.out.println("username:" + userName + " password:" + password + " user:" + user);
  31 + if (user == null) {
  32 + userServer.registr(userName, password);
  33 + } else {
  34 + return "已经注册了";
  35 + }
  36 + return "注册成功";
  37 + }
  38 +
  39 + @ApiOperation(value = "登录")
  40 + @RequestMapping(method = RequestMethod.GET, value = "login")
  41 + public String login(String name, String password) {
  42 + User user = userServer.login(name, password);
  43 + System.out.println("login:" + user);
  44 + if (user == null) {
  45 + if (userServer.isExit(name) == null) {
  46 + return "用户名错误";
  47 + } else
  48 + return "密码错误";
  49 + }
  50 + return "登录成功";
  51 + }
  52 +
  53 + @RequestMapping(method = RequestMethod.GET,value = "getImg")
  54 + public String getImg(){
  55 + return FileUtils.getImageStr("C:\\Users\\taohandong\\Desktop\\微耕.png");
  56 + }
  57 +
  58 +// @ApiOperation(value = "输入用户")
  59 +// @ApiImplicitParams({
  60 +// @ApiImplicitParam(name = "id", value = "用户id", required = true),
  61 +// @ApiImplicitParam(name = "User", value = "用户实体", required = true)
  62 +// })
  63 +// @RequestMapping(method = RequestMethod.PUT, value = "{id}")
  64 +// public boolean putUser(@PathVariable Long id, @RequestBody User userServerImp) {
  65 +// System.out.println("username:" + id + " password:" + userServerImp.toString());
  66 +// if (null == userServerImp) return false;
  67 +// return true;
  68 +// }
  69 +
  70 +}
... ...
springboot/src/main/java/com/sincre/springboot/mapper/UserMapper.java 0 → 100644
  1 +++ a/springboot/src/main/java/com/sincre/springboot/mapper/UserMapper.java
... ... @@ -0,0 +1,17 @@
  1 +package com.sincre.springboot.mapper;
  2 +
  3 +import com.sincre.springboot.model.User;
  4 +import org.apache.ibatis.annotations.Mapper;
  5 +import org.apache.ibatis.annotations.Param;
  6 +import org.springframework.stereotype.Repository;
  7 +
  8 +@Mapper
  9 +@Repository
  10 +public interface UserMapper {
  11 +
  12 + public User login(@Param("userName") String userName,@Param("password") String password);
  13 +
  14 + public boolean register(@Param("username") String username,@Param("password") String password);
  15 +
  16 + public User isExit(@Param("username")String username);
  17 +}
... ...
springboot/src/main/java/com/sincre/springboot/model/User.java 0 → 100644
  1 +++ a/springboot/src/main/java/com/sincre/springboot/model/User.java
... ... @@ -0,0 +1,29 @@
  1 +package com.sincre.springboot.model;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +public class User implements Serializable {
  6 +
  7 + private int id;
  8 +
  9 + private String username;
  10 +
  11 + private String password;
  12 +
  13 + public String getPassword() {
  14 + return password;
  15 + }
  16 +
  17 + public void setPassword(String password) {
  18 + this.password = password;
  19 + }
  20 +
  21 + @Override
  22 + public String toString() {
  23 + return "User{" +
  24 + "id=" + id +
  25 + ", username='" + username + '\'' +
  26 + ", password='" + password + '\'' +
  27 + '}';
  28 + }
  29 +}
... ...
springboot/src/main/java/com/sincre/springboot/server/UserServer.java 0 → 100644
  1 +++ a/springboot/src/main/java/com/sincre/springboot/server/UserServer.java
... ... @@ -0,0 +1,15 @@
  1 +package com.sincre.springboot.server;
  2 +
  3 +import com.sincre.springboot.model.User;
  4 +
  5 +public interface UserServer {
  6 +
  7 +
  8 + public boolean insertUser(User user);
  9 +
  10 + public User login(String loginname,String password);
  11 +
  12 + public boolean registr(String username,String password);
  13 +
  14 + public User isExit(String username);
  15 +}
... ...
springboot/src/main/java/com/sincre/springboot/server/UserServerImp.java 0 → 100644
  1 +++ a/springboot/src/main/java/com/sincre/springboot/server/UserServerImp.java
... ... @@ -0,0 +1,34 @@
  1 +package com.sincre.springboot.server;
  2 +
  3 +import com.sincre.springboot.mapper.UserMapper;
  4 +import com.sincre.springboot.model.User;
  5 +import org.springframework.beans.factory.annotation.Autowired;
  6 +import org.springframework.stereotype.Service;
  7 +
  8 +
  9 +@Service("userService")
  10 +public class UserServerImp implements UserServer {
  11 +
  12 + @Autowired
  13 + UserMapper userMapper;
  14 +
  15 + @Override
  16 + public boolean insertUser(User user) {
  17 + return false;
  18 + }
  19 +
  20 + @Override
  21 + public User login(String loginname, String password) {
  22 + return userMapper.login(loginname,password);
  23 + }
  24 +
  25 + @Override
  26 + public boolean registr(String username, String password) {
  27 + return userMapper.register(username,password);
  28 + }
  29 +
  30 + @Override
  31 + public User isExit(String username) {
  32 + return userMapper.isExit(username);
  33 + }
  34 +}
... ...
springboot/src/main/java/com/sincre/springboot/utils/FileUtils.java 0 → 100644
  1 +++ a/springboot/src/main/java/com/sincre/springboot/utils/FileUtils.java
... ... @@ -0,0 +1,88 @@
  1 +package com.sincre.springboot.utils;
  2 +
  3 +import sun.misc.BASE64Decoder;
  4 +import sun.misc.BASE64Encoder;
  5 +
  6 +import javax.imageio.stream.FileImageInputStream;
  7 +import java.io.*;
  8 +
  9 +public class FileUtils {
  10 +
  11 +
  12 + /**
  13 + * @param imgStr base64编码字符串
  14 + * @param path 图片路径-具体到文件
  15 + * @return
  16 + * @Description: 将base64编码字符串转换为图片
  17 + * @Author:
  18 + * @CreateTime:
  19 + */
  20 + public static boolean generateImage(String imgStr, String path) {
  21 + if (imgStr == null)
  22 + return false;
  23 + BASE64Decoder decoder = new BASE64Decoder();
  24 + try {
  25 +// 解密
  26 + byte[] b = decoder.decodeBuffer(imgStr);
  27 +// 处理数据
  28 + for (int i = 0; i < b.length; ++i) {
  29 + if (b[i] < 0) {
  30 + b[i] += 256;
  31 + }
  32 + }
  33 + OutputStream out = new FileOutputStream(path);
  34 + out.write(b);
  35 + out.flush();
  36 + out.close();
  37 + return true;
  38 + } catch (Exception e) {
  39 + return false;
  40 + }
  41 + }
  42 +
  43 + /**
  44 + * @Description: 根据图片地址转换为base64编码字符串
  45 + * @Author:
  46 + * @CreateTime:
  47 + * @return
  48 + */
  49 + public static String getImageStr(String imgFile) {
  50 + InputStream inputStream = null;
  51 + byte[] data = null;
  52 + try {
  53 + inputStream = new FileInputStream(imgFile);
  54 + data = new byte[inputStream.available()];
  55 + inputStream.read(data);
  56 + inputStream.close();
  57 + } catch (IOException e) {
  58 + e.printStackTrace();
  59 + }
  60 + // 加密
  61 + BASE64Encoder encoder = new BASE64Encoder();
  62 + return encoder.encode(data);
  63 + }
  64 +
  65 + //图片到byte数组
  66 + public static byte[] image2byte(String path) {
  67 + byte[] data = null;
  68 + FileImageInputStream input = null;
  69 + try {
  70 + input = new FileImageInputStream(new File(path));
  71 + ByteArrayOutputStream output = new ByteArrayOutputStream();
  72 + byte[] buf = new byte[1024];
  73 + int numBytesRead = 0;
  74 + while ((numBytesRead = input.read(buf)) != -1) {
  75 + output.write(buf, 0, numBytesRead);
  76 + }
  77 + data = output.toByteArray();
  78 + output.close();
  79 + input.close();
  80 + } catch (FileNotFoundException ex1) {
  81 + ex1.printStackTrace();
  82 + } catch (IOException ex1) {
  83 + ex1.printStackTrace();
  84 + }
  85 + return data;
  86 + }
  87 +
  88 +}
... ...
springboot/src/main/resources/application.properties 0 → 100644
  1 +++ a/springboot/src/main/resources/application.properties
... ... @@ -0,0 +1,11 @@
  1 +server.port=1111
  2 +
  3 +# ÉèÖÃÊý¾Ý¿âÏà¹ØÊôÐÔ
  4 +spring.datasource.username=thd
  5 +spring.datasource.password=pmd19930415A
  6 +spring.datasource.url=jdbc:sqlserver://60.190.202.57:14333;database=test
  7 +spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
  8 +
  9 +mybatis.config-location=classpath:mybatis-config.xml
  10 +mybatis.mapper-locations=classpath:/mapper/*.xml
  11 +mybatis.type-aliases-package=com.sincre.springboot.model
0 12 \ No newline at end of file
... ...
springboot/src/main/resources/mapper/usermapper.xml 0 → 100644
  1 +++ a/springboot/src/main/resources/mapper/usermapper.xml
... ... @@ -0,0 +1,26 @@
  1 +<?xml version="1.0" encoding="UTF-8" ?>
  2 +<!DOCTYPE mapper
  3 + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4 + "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5 +<mapper namespace="com.sincre.springboot.mapper.UserMapper">
  6 +
  7 + <select id="login" resultType="com.sincre.springboot.model.User">
  8 + select *
  9 + from "User"
  10 + where username = #{userName}
  11 + and password = #{password}
  12 + </select>
  13 +
  14 + <insert id="register" parameterType="com.sincre.springboot.model.User"
  15 + useGeneratedKeys="true">
  16 + <!--<selectKey keyProperty="id" resultType="int" order="BEFORE">-->
  17 +-- SELECT LAST_INSERT_ID() AS ID
  18 + <!--</selectKey>-->
  19 + insert into "User"(username, password) VALUES (#{username},#{password})
  20 + </insert>
  21 +
  22 + <select id="isExit" parameterType="com.sincre.springboot.model.User" resultType="com.sincre.springboot.model.User">
  23 + select * from "User" where username = #{username}
  24 + </select>
  25 +
  26 +</mapper>
0 27 \ No newline at end of file
... ...
springboot/src/main/resources/mybatis-config.xml 0 → 100644
  1 +++ a/springboot/src/main/resources/mybatis-config.xml
... ... @@ -0,0 +1,15 @@
  1 +<?xml version="1.0" encoding="UTF-8" ?>
  2 +<!DOCTYPE configuration
  3 + PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4 + "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5 +
  6 +<configuration>
  7 + <settings>
  8 + <!-- 获取数据库自增主键值 -->
  9 + <setting name="useGeneratedKeys" value="true"/>
  10 + <!-- 使用列标签替换列别名 默认:true -->
  11 + <setting name="useColumnLabel" value="true"/>
  12 + <!-- 开启驼峰命名转换 -->
  13 + <setting name="mapUnderscoreToCamelCase" value="true"/>
  14 + </settings>
  15 +</configuration>
... ...
springboot/src/main/webapp/WEB-INF/jsp/index.jsp 0 → 100644
  1 +++ a/springboot/src/main/webapp/WEB-INF/jsp/index.jsp
... ...
springboot/src/main/webapp/WEB-INF/lib/sqljdbc42.jar 0 → 100644
No preview for this file type
springboot/src/main/webapp/WEB-INF/web.xml 0 → 100644
  1 +++ a/springboot/src/main/webapp/WEB-INF/web.xml
... ... @@ -0,0 +1,5 @@
  1 +<?xml version="1.0" encoding="UTF-8" ?>
  2 +<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.0" configId="id"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4 +
  5 +</web-app>
0 6 \ No newline at end of file
... ...
springboot/src/test/java/com/sincre/springboot/SpringbootApplicationTests.java 0 → 100644
  1 +++ a/springboot/src/test/java/com/sincre/springboot/SpringbootApplicationTests.java
... ... @@ -0,0 +1,16 @@
  1 +package com.sincre.springboot;
  2 +
  3 +import org.junit.Test;
  4 +import org.junit.runner.RunWith;
  5 +import org.springframework.boot.test.context.SpringBootTest;
  6 +import org.springframework.test.context.junit4.SpringRunner;
  7 +
  8 +@RunWith(SpringRunner.class)
  9 +@SpringBootTest
  10 +public class SpringbootApplicationTests {
  11 +
  12 + @Test
  13 + public void contextLoads() {
  14 + }
  15 +
  16 +}
... ...