From 97bc8f839509e04e96844d398fcce3ddf5289c2c Mon Sep 17 00:00:00 2001 From: xiaoz Date: Sun, 6 Mar 2022 13:10:46 +0800 Subject: [PATCH] add --- HELP.md | 17 + demo.iml | 89 +++++ demo.zip | Bin 0 -> 65655 bytes mvnw | 316 ++++++++++++++++++ mvnw.cmd | 188 +++++++++++ pom.xml | 41 +++ .../com/example/demo/DemoApplication.java | 13 + .../java/com/example/demo/TestController.java | 14 + src/main/resources/application.properties | 1 + .../example/demo/DemoApplicationTests.java | 13 + 10 files changed, 692 insertions(+) create mode 100644 HELP.md create mode 100644 demo.iml create mode 100644 demo.zip create mode 100644 mvnw create mode 100644 mvnw.cmd create mode 100644 pom.xml create mode 100644 src/main/java/com/example/demo/DemoApplication.java create mode 100644 src/main/java/com/example/demo/TestController.java create mode 100644 src/main/resources/application.properties create mode 100644 src/test/java/com/example/demo/DemoApplicationTests.java diff --git a/HELP.md b/HELP.md new file mode 100644 index 0000000..2cba719 --- /dev/null +++ b/HELP.md @@ -0,0 +1,17 @@ +# Getting Started + +### Reference Documentation +For further reference, please consider the following sections: + +* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html) +* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.6.4/maven-plugin/reference/html/) +* [Create an OCI image](https://docs.spring.io/spring-boot/docs/2.6.4/maven-plugin/reference/html/#build-image) +* [Spring Web](https://docs.spring.io/spring-boot/docs/2.6.4/reference/htmlsingle/#boot-features-developing-web-applications) + +### Guides +The following guides illustrate how to use some features concretely: + +* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/) +* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/) +* [Building REST services with Spring](https://spring.io/guides/tutorials/bookmarks/) + diff --git a/demo.iml b/demo.iml new file mode 100644 index 0000000..2b02d80 --- /dev/null +++ b/demo.iml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/demo.zip b/demo.zip new file mode 100644 index 0000000000000000000000000000000000000000..f3539be56c679a5ba2a155eb7ce5a48b4e0b67f8 GIT binary patch literal 65655 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 literal 0 HcmV?d00001 diff --git a/mvnw b/mvnw new file mode 100644 index 0000000..8a8fb22 --- /dev/null +++ b/mvnw @@ -0,0 +1,316 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`\\unset -f command; \\command -v java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..d615627 --- /dev/null +++ b/pom.xml @@ -0,0 +1,41 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.6.4 + + + com.example + demo + 0.0.1-SNAPSHOT + demo + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/src/main/java/com/example/demo/DemoApplication.java b/src/main/java/com/example/demo/DemoApplication.java new file mode 100644 index 0000000..64b538a --- /dev/null +++ b/src/main/java/com/example/demo/DemoApplication.java @@ -0,0 +1,13 @@ +package com.example.demo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class DemoApplication { + + public static void main(String[] args) { + SpringApplication.run(DemoApplication.class, args); + } + +} diff --git a/src/main/java/com/example/demo/TestController.java b/src/main/java/com/example/demo/TestController.java new file mode 100644 index 0000000..b107700 --- /dev/null +++ b/src/main/java/com/example/demo/TestController.java @@ -0,0 +1,14 @@ +package com.example.demo; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @GetMapping("") + public String hello() { + return "hello!"; + } + +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/src/test/java/com/example/demo/DemoApplicationTests.java b/src/test/java/com/example/demo/DemoApplicationTests.java new file mode 100644 index 0000000..2778a6a --- /dev/null +++ b/src/test/java/com/example/demo/DemoApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.demo; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class DemoApplicationTests { + + @Test + void contextLoads() { + } + +}