最近计划开源一个基于Springboot的BLOG程序,我会尽量写明中间的每一个步骤。如果近期有打算学习java或spring框架的同学可以参与一块进行协作开发。
这个Blog系统已经重构过多次,第一次是2004年时为了找工作开始使用ASP进行开发。家里使用Adsl拨号,那时运营商是还不封锁80口的,直接托管在了家里的机器上。域名是 sea-bug.3322.org
06年开始步入.Net时代,当时的java还属于SUN公司,主要就是j2se的桌面程序慢的要死,嵌入浏览器的小程序已经不被主流浏览器所支持。只有j2ee还有企业在使用。年轻幼稚的我觉得java太垃圾了,不如强大的微软帝国选择了学习.Net并把blog使用.Net重写了。
随着国内正版化的普及各大公司陆续收到微软的律师函,从10年开始大多公司开始从微软阵营的Win+.Net+sqlserver向开源的Linux+java+Mysql进行迁移。年轻依然幼稚的我也在这次大潮中开始了java的学习过程。2010年我的blog又被迁移到了java+mysql的环境。同一时期我也收到了家里网安的警告不允许再把站点托管在自己家里。为了自由和物美价廉开始选择了境外VPS主机。
2019年了,马上步入2020年了我计划在开源的状态下重构一次BLOG系统,期待你的加入。
正文开始,本教程适合git java maven初学者,如果想转行欢迎使用此文档入门。
在Github上协同开发项目,大多不会给主仓库的权限,工作的方式都是Fork到自己名下的仓库里修改,修改完了再申请Pull requests到主仓库。等主仓库负责人review代码。无问题后就会合并到主分支上,今天我们用图形化的方式来一步一步的介绍下。
这次IDE我们用IntelliJ IDEA ,对于初学者我们不讲解git命令,全程使用UI界面。选择 [Check out from Version Control] 直接登录你的github账号,在URL中选择刚刚fork过来的仓库。获得此仓库代码,IDEA会自动帮我们加载此项目并自动通过maven加载所依赖的jar包。此项目我们需要依赖一个Lombok插件,需要通过Settings->Plugins来搜索并安装。
接下来我们看一下项目的结构。src是我们的主要目录,src/main/java
下面主要有几个目录web用户数据接口层主要是控制器、service服务层做业务的拼装、dao数据操作层、model实体层、interceptor过滤器主要做权限检查、util工具类。在resources下是主要的资源文件,包括我们的主配置文件application.yml,static下主要是图片、脚本、样式表,这边的web目录是我们的模板本项目使用FreeMarker模板引擎。src/test
下是单元测试目前为空稍后会进行补充。根目录下pom.xml是我们引用第三方包的配置文件,Jenkinsfile是我们的自动构建系统所需要使用的脚本文件。
之后就可以开始在本地进行开发调试,当代码测试通过后,我们需要把代码提交上去。可以通过VCS下的COMMIT进行代码提交。在打开的COMMIT窗体中可以确认本次要进行提交的文件,以及在Message说明你要提交的内容,建议第一行简要说明变化的情况。第二行以后可以分多行说明具体提交的内容。commit后我们还需要一步push操作就可以将代码提交到github上自己的仓库中。
向主仓库进行合并请求。使用浏览器打开你自己名下的仓库,在首页会看到Pull request的按钮我们简称PR,这个按钮的作用是请求主仓库进行代码合并。点击后下一个界面会让你确认所提交的修改内容。提交后等待主仓库负责人合并即可。
如果主仓库发生了改变咱们的for仓库不会自动更新需要大家手动操作。第一种方案可以使用PR反向合并、第二种方案本周增加多个远程仓库在本地进行合并即可。
开源的jBlog期待你的加入