SSM搭建二手市场交易平台(三):项目初始化
关于博主
努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!
微信公众号: 啃饼思录

QQ: 2810706745(啃饼小白)
写在前面
本篇介绍数据库的初始化,jdk、tomcat、maven的配置及初始化web空白项目,git的初始化以及pom文件配置和项目包结构初始化
数据库的初始化
首先新建数据库store:

然后新建一个查询,执行第二篇笔记里面的SQL 语句,就可以创建本项目的数据库表了。如果你觉得麻烦可以去我的github上查找一个名为store.sql的文件,然后创建完数据局以后,点击新建查询,把里面的sql语句全都插入进去,然后点击运行即可:

idea的安装
关于idea的安装我这里就不介绍了,我之前介绍Pycharm的时候就顺带介绍了,你看一下就可以了(说明我这里使用的idea的版本是2018.2.3):手把手教你破解Pycharm2018.2(JetBrains全家桶)
jdk、tomcat、maven配置及初始化web空白项目
jdk的配置

点击上面的新建图片的首页,点击Configure-->Project Defaults-->project Structure:

按照图上所示进行配置,然后单击ok就好。
maven的配置

点击上面的新建图片的首页,点击Configure-->Settings:

注意这里的maven的解压路径,还有如果你的maven都是默认安装,那么你4步骤使用默认的就可以了。按照图上所示进行配置,然后单击ok就好。
快捷键的配置

点击上面的新建图片的首页,点击Configure-->Settings:

这里我之前使用过一段时间的eclipse,所以快捷键就默认使用eclipse的,你可以根据自己的需要进行设置。
Maven空白项目的创建





然后一直next就可以了,然后系统会自动创建项目,创建完成如图所示:(第一次使用maven可能会花一点时间,因为maven的中央仓库里面还没有文件,你需要去下载)

看到上面这张图片说明项目已经搭建完成了。
接下来便是项目文件和测试文件目录的创建:在 main 文件下面创建一个java文件夹 ,然后按照如下操作:光标移到java文件夹上面,然后右键拉到底部,找到Make Directory AS ,再单击出现的Sources Root即可,会发现该文件变成了蓝色。
紧接着在src文件下,创建mian文件的测试文件夹,名称为test,然后再在test文件夹下面新建java文件夹 ,然后按照如下操作:光标移到java文件夹上面,然后右键拉到底部,找到Make Directory AS ,再单击出现的Test Sources Root即可,会发现该文件变成了绿色。
tomcat的配置

然后选择出现的Edit Configuration,点击左上角的绿色+号,拉到底部选择Tomcat Server,再选择local服务就可以:


1处的是你的tomcat server服务的名称,这个你自己随意命名可以不和项目名称保持一致,然后就是2,3,4步骤,最后点击apply和ok就可以了。

想知道你上述配置有没有成功呢?你可以点击运行一下,注意这里必须是运行tomcat服务器,不是jsp页面:

等项目运行起来后,等20秒左右,idea会自动打开浏览器并出现localhost:8080
如果出现下面的页面代表配置成功了:

git的初始化
这里我使用的是github,当然你可以使用gitee或者其他的代码分享平台。
关于github的安装,我就不介绍了,你可以参考这篇文章:GitHub的注册与使用(详细图解)
然后新建一个repository,名称为store,紧接着开始git的初始化:

现在开始进行git的初始化,首先在idea的terminal下面运行touch README.md
创建该文件。如果无法执行git命令:

那么很抱歉你需要进行相关信息的配置,具体的参考这里:idea中Terminal终端无法执行GIT命令: touch README.md问题解决
我这里推荐使用第二种方法,不过此后bash已经内嵌到idea里面了,就不再是执行以前的cmd命令了,这一点你需要清楚。接下来重新运行代码:
$ touch README.md #创建一个 README 文件
$ touch .gitignore #创建一个忽略配置文件(gitignore前面的.号必须有)
.gitignore文件的作用是把我们的配置文件匹配上的信息进行忽略,不会推送到我们的Git仓库里面去,也不会检测到我们本地的一些变化,(否则的话你每次修改一个字母都会进行自动上传,这是很费时间的事情)
接下来就是.gitignore文件的配置,我们忽略什么就在里面配置什么:
# Compiled class file
*.class #我们编译出来的文件不需要推送
# temp file 临时文件
*.log
*.cache
*.diff
*.patch
*.tmp
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #包文件不进行推送
*.war
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
#kdiff3 ignore
*.orig
#maven ignore
target/
#eclipse ignore
.settings/
.project
.classpatch
#idea
.idea/
/idea/
*.ipr
*.iml
*.iws
# system ignore 忽略系统文件
.DS_Store
Thumbs.db
src/main/resources/store.properties
src/main/resources/datasource.properties
在上面的文件中,我们没有对.jar文件进行忽略,那是因为后面支付宝提供的jar包我们需要提交到git仓库里面。
接下来执行git的初始化:
$ git init #初始化后会生成一个隐藏的.git文件
继续执行下面的代码:
$ git status #可以知道有哪些文件发生了变化
执行下面的代码:
$ git add . #添加所有文件
接着执行下面的代码:
$ git status
你会发现此时之前的那些都new file了 :

接着执行下面的代码:
$ git commit -am 'first commit init project'
-am代表加注释的意思,操作完此时我们所有文件就提交完了,不过只是提交到本地仓库里,还没有提交到git仓库里面。
接下来便是把其提交到我们远程的仓库里面了:
$ git remote add origin git@github.com:licheetools/store.git
@后面是你的github项目的地址。
紧接着查看一下我们的分支:
$ git branch #查看一下分支,发现目前我们在master上,我们后面进行修改
现在执行最重要的一步,把项目推送到github仓库上面:
$ git push -u origin master
如果运行出现下面的情况,请不要慌,按照我说的操作继续走:

首先拉取一下资源:
$ git pull
接着就重新执行刚才的代码:
$ git push -u origin master
你会发现又出了一个错误:(这可真是命途多舛啊。。。)

(说你的分支太靠后了,没有远程分支线)
现在只能强制推送了,如何强制呢?可以使用下面的命令:
$ git push -u -f origin master
现在你发现没有报错了,刷新一下你的github,可以看到你的本地项目已经发送到github上面了:

我们这个项目采用分支开发,主干发布(master)的模式,所以git仓库是必须要有的。
你可以使用下面的命令查看一下分支情况:
$ git branch -r
我们新建一个分支:
$ git checkout -b v0.1 origin/master
(checkout是检查,v0.1是名称,origin/master是当前的分支树节点)
你同样可以使用下面的命令查看分支:
$ git branch
#运行结果:
# master
#* v0.1
最后我们使用下面的命令将分支推送到远程:
$ git push origin HEAD -u
就出现:

最后去刷新一下github,会发现远程仓库里面已经有了:

是不是觉得很麻烦?其实idea里面已经集成了git,因此你可以不下载git就能连接到github了(但是连接gitee目前还不支持)由于idea和pycharm非常类似,因此我这里就不介绍如何直接使用idea把代码上传到github仓库里面了,有兴趣的同学可以参考我之前的这篇文章:利用Pycharm把代码直接上传到github 仓库
pom文件配置
找到图示的pom.xml文件,然后去我的github仓库找到一个名为store.xml的文件,将里面的内容复制替换到pom.xml文件里面:(由于里面的代码很多,这里就不贴出来了,注意一下里面相关包的版本)

然后点击:

需要注意的是pom.xml文件里面jdk的版本,我用的是10,你们自己注意一下:
Maven 教程:IDEA开发环境中maven 项目配置JDK9,JDK10,JDK11,JDK12..等EA版本的配置方法 系列教程一
左侧就会出现已经安装的包:

项目包结构初始化
现在我们需要创建几个包,具体过程我就不详细说明了,直接附上最后的结果:

简单的说一下各个包的作用:controller,dao,service这三个关系密切:dao在最下层与数据库进行交互,controller是控制层,util是各个工具的存放,vo你可以理解为ViewObject或者ValueObject,正常的这两层就够了,如果是一些比较复杂的项目,还会多一层BusinessObject。pojo是简单的数据库对象,上一层通过VO进行封装,再传递给controller让前端负责展示。我们当然可以在pojo的上层使用bo,然后再在上层使用vo。其实在这里你可以把vo当做一个值对象(ValueObject),然后传递给controller让前端负责展示。common包就是存放我们项目中使用到的常量,或者是公共类等。
至此,我们本篇关于项目的初始化的介绍就到此为止了,感谢你的赏阅!