一、团队协作不是人的协作而是工具的协作
借助工具:GitHub、Maven
1什么是Git:
Git
Git是 Linux 之父 Linus Trovalds,为管理 Linux 内核代码而建立的,被认为是分布式版本控制工具中的顶级水准。Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问,作用同:SVN、CVS。相比CVS\SVN优势:
1、支持离线开发,离线Repository
2、强大的分支功能,适合多个独立开发者协作
3、速度快
Git安装教程
1.1网页版Git
码云GitHub
码云是开源中国社区2013年推出的基于 Git 的完全免费的代码托管服务,这个服务是基于 Gitlab 开源软件所开发的,我们在 Gitlab 的基础上做了大量的改进和定制开发,目前已经成为国内最大的代码托管系统,致力于为国内开发者提供优质稳定的托管服务。
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
1.2GitHub客户端
SourceTree是 Windows下免费的 Git 客户端,拥有可视化界面,容易上手操作。支持创建、提交、clone、push、pull 和merge等操作。
1.3自建GitHub
Gogs (Go Git Service) 是一款极易搭建的自助 Git 服务。Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
2 什么是Maven:
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Java主要用它描述Jar的关系以及解决Jar的冲突,部署Web服务器。
例如:添加大家常用的Struts Jar包
1
2
3
4
5
|
<
dependency
>
<
groupId
>org.apache.struts</
groupId
>
<
artifactId
>struts2-core</
artifactId
>
<
version
>2.0.11</
version
>
</
dependency
>
|
2.1Maven中央仓库
2.2 自建Maven中央仓库
二、程序员都应该有懒人思维,越懒越好
1 lombok减少JavaBean的代码冗余
通过注解实现Setter和Getter方法和有参和无参的构造方法。
@Data
@EqualsAndHashCode(callSuper=false)
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class WorkPlan {
private Integer lineid;
private String plancontent;
private String timeEnd;
private String deliverdes;
private String resourceallo;
private String plansource;
private String riskcontroll;
private String others;
}
2 JNDI一次修改配置运行项目
上线运行的项目总会更新,每次都需要修改properties配置文件来配置数据库连接,通过JNDI只需一次,每次部署零配置。
Spring配置文件:
<!-- 数据源配置, 使用应用服务器的数据库连接池 -->
<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/hrhx_fss_mysql" />
apache-tomcat-7.0.65\conf\context.xml:
<!--配置MySQL数据库的JNDI数据源-->
<Resource name="jdbc/hrhx_fss_mysql"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationQuery="select 1 from dual"
validationInterval="30000"
timeBetweenEvictionRunsMillis="30000"
maxActive="80"
maxIdle="20"
minIdle="10"
maxWait="10000"
initialSize="1"
removeAbandonedTimeout="60"
removeAbandoned="true"
logAbandoned="true"
minEvictableIdleTimeMillis="30000"
jmxEnabled="true"
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.1.201:3306/hrhx_fss?useUnicode=true&characterEncoding=utf-8"/>