猿创征文|Java开发工具,从环境到开发,一篇管够!

文章目录

  • 一、文章背景
  • 二、环境/开发工具
    • (1)安装Docker
    • (2)配置 Docker 阿里镜像加速器
    • (3)使用docker运行Mysql 8
    • (4)使用Docker运行Redis
    • (5)数据库管理工具
    • (6)接口测试工具
    • (7)代码版本管理工具
    • (8)远程连接工具


一、文章背景

优秀的开发工具已经项目管理工具可以很方便的开发流程有序、减轻开发过程中遇到的多人协同开发产生的冲突等问题。也可以让刚入职的小伙伴快速搭建Java环境,不用一篇一篇文章的找教程。

二、环境/开发工具

(1)安装Docker

1.进入docker官网下载docker
在这里插入图片描述
找到对应的系统下载版本并点击下载

2.下载完毕之后,双击安装包进⾏安装即可
在这里插入图片描述

(2)配置 Docker 阿里镜像加速器

阿里镜像加速器
Docker Toolbox
1.打开docker
2.Settings
3.Docker Engine
4.在 json 文本中添加以下列(要符合json规范)

{"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"features": {"buildkit": true},"registry-mirrors": ["https://p9yals3y.mirror.aliyuncs.com"]
}

(3)使用docker运行Mysql 8

mkdir -p /data/docker/mysql/{data,logs,conf}
# 复制配置文件到 conf 下,并修改所有者或者权限
docker run --name=mysql_dev_8 --restart=always  \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=mysql_dev  \
-e TZ=Asia/Shanghai \
-v mysql_dev_data_8:/var/lib/mysql \
-v mysql_dev_logs_8:/logs \
-v mysql_dev_conf_8:/etc/mysql/conf.d  \
-d -p3306:3306 mysql:8 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci

注意:需要格式化成一句代码

(4)使用Docker运行Redis

docker run --name redis_dev --restart=always -d -p6379:6379 redis:latest redis-server --requirepass redis_dev

修改配置文件

  • 远程连接redis
    注释 bind 127.0.0.1
    修改 protected-mode yes 为 protected-mode no

  • 设置密码
    添加 requirepass yourpassword

  • 启动命令

 mkdir -p /data/docker/redis/{data,conf}#复制配置文件到 conf 下,并修改所有者或者权限docker run -d --name redis --restart=always --privileged=true \
-p 6379:6379 \
-v /data/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /data/docker/redis/data:/data \
redis:5.0.7 \
redis-server /etc/redis/redis.conf \
--appendonly yes

注意:下载Windows Powershell更方便

(5)数据库管理工具

1.Navicat可以连接多种数据库,如:mysql、sqlServer、oracle等
在这里插入图片描述
缺点:
该工具需要购买,试用期为14天

优点:
他可对开发环境和测试或者生产环境的数据库数据、结构进行同步
可以做数据模型设计并直接生成表结构

IDEA自带数据库工具
在这里插入图片描述
可视化并没有前者好,对于初学者没那么友好。

2.Another Redis Desktop Manager、RedisDesktopManager都是对redis数据库进行管理,前者ui界面更美观。

在这里插入图片描述在这里插入图片描述

(6)接口测试工具

1.Swagger(接口文档)
当下最流行的 API 框架,接口文档在线生成,避免同步的麻烦,可以支持在线对接口执行测试。
在这里插入图片描述

1.在pom.xml文件中引入jar包(具体的版本根据自己的项目而定,我用的是swagger2x)

 <dependency><groupId>io.springfoxgroupId><artifactId>springfox-swagger2artifactId><version>2.9.2version><exclusions><exclusion><artifactId>swagger-annotationsartifactId><groupId>io.swaggergroupId>exclusion><exclusion><artifactId>swagger-modelsartifactId><groupId>io.swaggergroupId>exclusion>exclusions>dependency><dependency><groupId>io.springfoxgroupId><artifactId>springfox-swagger-uiartifactId><version>2.9.2version>dependency><dependency><groupId>io.swaggergroupId><artifactId>swagger-annotationsartifactId><version>1.5.22version>dependency><dependency><groupId>io.swaggergroupId><artifactId>swagger-modelsartifactId><version>1.5.22version>dependency>

2.创建一个配置

@Configuration
@EnableSwagger2
@ConditionalOnProperty(prefix = "swagger2",value = {"enable"},havingValue = "true")
public class Swagger2 implements WebMvcConfigurer {@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("**/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars*").addResourceLocations("classpath:/META-INF/resources/webjars/");}@Beanpublic Docket platformApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).forCodeGeneration(true).select().apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))//扫描包路径.apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))//扫描所有包
//				.apis(RequestHandlerSelectors.any()).paths(PathSelectors.any()).build().securitySchemes(securitySchemes()).securityContexts(securityContexts());}private List<ApiKey> securitySchemes() {List<ApiKey> apiKeyList = new ArrayList<>();apiKeyList.add(new ApiKey("token", "token", "header"));return apiKeyList;}private List<SecurityContext> securityContexts() {List<SecurityContext> securityContexts = new ArrayList<>();securityContexts.add(SecurityContext.builder().securityReferences(defaultAuth()).forPaths(PathSelectors.any()).build());return securityContexts;}private List<SecurityReference> defaultAuth() {AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];authorizationScopes[0] = authorizationScope;List<SecurityReference> securityReferences = new ArrayList<>();securityReferences.add(new SecurityReference("token", authorizationScopes));return securityReferences;}//构建 api文档的详细信息函数,注意这里的注解引用的是哪个private ApiInfo apiInfo() {return new ApiInfoBuilder()//页面标题.title("JAVA-API")//描述.description("JAVA-API接口文档")//创建人.contact(new Contact("xxx", "https://www.baidu.com/", "xxx@163.com"))//版本号.version("1.0").build();}}

3.在对应的controller写对应的注解
在这里插入图片描述

2.Postman
在这里插入图片描述
postman是一个软件,测试工程师会有用的比较多

3.Apipost
在这里插入图片描述
ApiPost是一款支持模拟POST、GET、PUT等常见HTTP请求,支持团队协作,并可直接生成并导出接口文档的API 文档、调试、Mock、测试一体化协作性能非常强大的工具。简单说:
ApiPost = Postman + Swagger + Mock
ApiPost产生的初衷是为了提高研发团队各个角色的效率!产品的使用受众为由前端开发、后端开发和测试人员以及技术经理组成的整个研发技术团队。ApiPost通过协作功能将研发团队的每个角色整合打通。

(7)代码版本管理工具

有支持GitHub、Gitee等仓库管理
idea集成了git,有切Branch、commint、add、pull、push等丰富的操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理.
在这里插入图片描述

(8)远程连接工具

FinalShell、MobaXterm、XShell、secureCRT、Putty
在这里插入图片描述在这里插入图片描述
1.FinalShell可以看到cpu、内存、交换机的使用情况
在这里插入图片描述
2.MobaXterm
功能十分强大,支持SSH,FTP,串口,VNC,X server等功能。 支持标签,切换也十分方便

3.XShell
Xshell是一个强大的安全终端模拟软件,界面设计简洁,使用方便,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。

4.secureCRT
SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具,支持同时发送多个session。

5.Putty
PuTTY是一个Telnet/SSH/rlogin/纯TCP以及串行阜连线软件。较早的版本仅支援Windows平台。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部