Skip to content

Gitbook column2.0 #9

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 44 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
90 changes: 66 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,79 @@
# Spring Boot精选课程
# Spring Boot 精选课程

[Spring Boot 中文索引](https://github.com/ityouknow/awesome-spring-boot)
[Spring Boot 中文索引](https://github.com/ityouknow/awesome-spring-boot)

[课程地址](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba)
### 精通 Spring Boot 42 讲课程列表:

[码云地址](https://gitee.com/ityouknow/spring-boot-leaning)
**开篇**

- [开篇词:为什么要学 Spring Boot](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5b864c65e15aa17d68b5db58)

达人课内容:
**第一部分:快速认识 Spring Boot**

- [第01课:课程概要](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f5e21449cd433061360883)
- [第02课:快速实战 Spring Boot](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f68c4f49cd43306136301c)
- [第03课:快速体验 Web 开发](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f6922549cd4330613634a4)
- [第04课:Spring Data JPA 的使用](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f6a809a5beea6a3fd8a7f2)
- [第05课:模板引擎 Thymeleaf](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f6d537a5beea6a3fd8c216)
- [第06课:JPA 和 Thymeleaf 实践](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f6f2dba5beea6a3fd8d5b0)
- [第07课:Spring Boot 集成 MyBatis](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f97e7e68673133615f7427)
- [第08课:MyBatis Druid 多数据源](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f97ed968673133615f745f)
- [第09课:如何玩转 Redis](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f97f0d68673133615f7481)
- [第10课:Redis 实现数据缓存和 Session 共享](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f97f3f68673133615f749b)
- [第11课:RabbitMQ 详解](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f97f9c68673133615f74de)
- [第12课:MongoDB 实战](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f97fd568673133615f750e)
- [第13课:使用 Spring Boot 发送邮件](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f9800d68673133615f7529)
- [第14课:Spring Boot 集成 Quartz](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f9806168673133615f7564)
- [第15课:Spring Boot 集成测试和部署运维](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f980e668673133615f75b9)
- [第16课:综合实战用户管理系统](http://gitbook.cn/gitchat/column/59f5daa149cd4330613605ba/topic/59f9810d68673133615f75ce)
- [第 1-1 课:Spring Boot 产生的背景和它的设计理念](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5b93c957780fdb5e97d2f35c)
- [第 1-2 课:Spring Boot 2.0 都更新了什么(上)](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5b93c99c780fdb5e97d2f365)
- [第 1-2 课:Spring Boot 2.0 都更新了什么(下)](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5b968861780fdb5e97d3e157)
- [第 1-3 课:Spring Boot 依赖环境和项目结构介绍](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5ba8556f0110e7701d25dd95)
- [第 1-4 课:写一个 Hello World 来感受 Spring Boot](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bab5a670110e7701d268e21)

**第二部分:Spring Boot 与 Web 开发**

> 有问题可以在读者圈或者达人课文末给我留言。
- [第 2-1 课:Spring Boot 对基础 Web 开发的支持(上)](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5baca42d80460e6b3d6f7a4d)
- [第 2-1 课:Spring Boot 对基础 Web 开发的支持(下)](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5baca87d80460e6b3d6f7abc)
- [第 2-2 课:Spring Boot 项目中使用 JSP](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bbac47b9ccd7c1379f25eab)
- [第 2-3 课:模板引擎 Thymeleaf 基础使用](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bbd7a209ccd7c1379f30479)
- [第 2-4 课:模板引擎 Thymeleaf 高阶用法](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bc3fef8046eb7300661202e)
- [第 2-5 课:Thymeleaf 页面布局](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bc6a9cd42d7d32f50f19a2a)
- [第 2-6 课:使用 Spring Boot 和 Thymeleaf 演示上传文件](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bcd32eb211d0e68b1b70599)
- [第 2-7 课:使用 Spring Boot 上传文件到 FastDFS](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bcfdff8211d0e68b1b7b079)
- [第 2-8 课:Spring Boot 构建一个 RESTful Web 服务](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bd67b898b3f803a63ef9e70)
- [第 2-9 课:使用 Swagger 2 构建 RESTful APIs](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bd910d38b3f803a63f02463)
- [第 2-10 课:使用 Spring Boot WebSocket 创建聊天室](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bdfadb0665e8a7d7349ed2e)

**第三部分:Spring Boot 和数据库操作**

- [第 3-1 课:Spring Boot 使用 JDBC 操作数据库](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5be25f98d492a00c00b0ce17)
- [第 3-2 课:如何优雅的使用 MyBatis XML 配置版](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5be8f0552c33167c317c6a7f)
- [第 3-3 课:如何优雅的使用 MyBatis 注解版](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5beb9d502c33167c317cbe3b)
- [第 3-4 课:Spring Data JPA 的基本使用](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bf22499b36fd43be4715f15)
- [第 3-5 课:Spring Data JPA 的高级用法](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bf4c6eefae086212ccb20e4)
- [第 3-6 课:Spring Data JPA 多数据源的使用](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bfb55ffae0e5f436e35c0fb)
- [第 3-7 课:Spring Boot 集成 Druid 监控数据源](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5bfe2f357d496f133969c52a)
- [第 3-8 课:Spring Data JPA 和 Thymeleaf 综合实践](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c036e4db4075a37edf0f940)

关注公众号:纯洁的微笑,回复"springboot"进群交流
**第四部分:Spring Boot 和 中间件**

![](http://www.ityouknow.com/assets/images/keeppuresmile.jpg)
- [第 4-1 课:Spring Boot 操作 Memcached](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c05ffbfb4075a37edf18a7f)
- [第 4-2 课:Spring Boot 和 Redis 常用操作](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c0886c8fa859f1cb51755d1)
- [第 4-3 课:使用 Redis 实现 Session 共享](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c0d3825edba1b683458f2a5)
- [第 4-4 课:Spring Boot 中使用 Cache 缓存的使用](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c0f4bda4595324572153973)
- [第 4-5 课:使用 Spring Boot 操作 ActiveMQ](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c1072a91e59245d4d295584)
- [第 4-6 课:Spring Boot RabbitMQ 详解](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c165ba61e59245d4d2a3e01)
- [第 4-7 课:Spring Boot 简单集成 MongoDB](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c19099d1e59245d4d2ab843)
- [第 4-8 课:Spring Boot 集成 ElasticSearch](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c1af2f31e59245d4d2af6f2)
- [第 4-9 课:Spring Boot 集成 Quartz](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c1f7ad41e59245d4d2b9109)
- [第 4-10 课:Spring Boot 发送各种类型邮件](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c21de564fcd483b0264f22f)

**第五部分:综合实践**

- [第 5-1 课:使用 Spring Boot Security 进行安全控制](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c2327834fcd483b02652357)
- [第 5-2 课:使用 Spring Boot Actuator 监控应用](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c25965e4fcd483b0265b15c)
- [第 5-3 课:Spring Boot Admin 的使用](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c25a1fa4fcd483b0265b262)
- [第 5-4 课:Spring Boot 对测试的支持](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c26f8964fcd483b0265facb)
- [第 5-5 课:如何打包部署 Spring Boot 项目](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c319ae24fcd483b0271071e)
- [第 5-6 课:使用 Docker 部署 Spring Boot 项目](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c342f1c4fcd483b0271897c)
- [第 5-7 课:综合实战客户管理系统(一)](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c36c1e24fcd483b0271e9e8)
- [第 5-8 课:综合实战客户管理系统(二)](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a/topic/5c3ac51bbe5fed35a4e45388)

**总结**

- [结语:总结 Spring Boot 应用实战](https://gitbook.cn/gitchat/column/5b86228ce15aa17d68b5b55a)



> 有问题可以在读者圈或给我留言。
关注公众号:纯洁的微笑,学习更多关于 Spring Boot 内容,公号内回复"666"进群交流。

![](http://www.ityouknow.com/assets/images/keeppuresmile_430.jpg)

File renamed without changes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/target/
!.mvn/wrapper/maven-wrapper.jar

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
225 changes: 225 additions & 0 deletions 第 1-3 课 Spring Boot 依赖环境和项目结构介绍/hello/mvnw
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
#!/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
#
# http://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.
# ----------------------------------------------------------------------------

# ----------------------------------------------------------------------------
# Maven2 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 /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 Migwn, 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)`"
# TODO classpath?
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="`which 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

export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
echo $MAVEN_PROJECTBASEDIR
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

WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain

exec "$JAVACMD" \
$MAVEN_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
Loading