Appearance
🚀 第2章 熟用开发工具
熟练使用开发工具,是开发人员必备的技能
。使用开发工具,开发人员可以提炼出开发规范并将这些规范应用到项目的开发流程中。
在开发的过程中,经常会碰到一些因为开发工具使用不规范而造成的沟通阻塞问题。具体如下:
- 团队没有使用统一的开发工具,导致项目代码的风格和规范不一致,降低了代码的可维护性。
- 团队开发人员不熟悉开发工具,没有形成一些标准的规范和通用的沟通语言,导致在开发过程中不能进行对称和有效的沟通。
- 高效率地阅读代码是开发人员的基础技能。如果开发工具使用不当,则会直接影响开发人员阅读代码的效率。
能够提效开发人员工作效率的开发工具有很多,本章将介绍一些常用的开发工具。
🚀 2.1 开发工具IDEA
开发人员要先安装IntelliJIDEA,才能够体验它的功能。
1.安装环境要求
在安装IntelliJIDEA 前,要确保要达到硬件要求和软件要求,
(1) 硬件要求。
至少需要 2 GB的 RAM,推荐使用 4 GB的 RAM。
至少需要 1.5 GB 硬盘空间 +1 GB 的缓存。
屏幕分辨率最低 1024 px * 768 px。
(2) 软件要求。
InteliJ IDEA 是与 JRE 1.8发行版捆绑在一起的,开发人员不需要在电脑上安装 JRE 就可运行 IntelliJ IDEA。
2.下载 IDEA
IntelliJ IDEA 有两个版本: Ultimate 和 Community。
- Community 版本: 免费开源版本,功能较少。
- Ultimate 版本: 商业化版本,提供了一整套优秀的工具和功能
在 InteliJ IDEA的官网找到下载页,单击 Download 按钮下载相应版本。
🚀 2.2【实例】SCA开发RESTfulAPI服务
下面带读者快速开发一个简单的 RESTful API 服务。
🚀 搭建 Spring Cloud Alibaba 环境
(1) 登录nacos官网(https://nacos.io/)下载安装包(nacos-server-1.4.7.zip
)并解压到C:\MyDisk\All\SVC\
(2) 解压后执行C:\MyDisk\All\SVC\nacos\bin\startup.cmd -m standalone
以单机模式启动Nacos。也可以修改 startup.cmd
,修改点为 set MODE="standalone"
,之后直接双击脚本启动。
(3) 通过chrome访问http://127.0.0.1:8848/nacos/
,默认账密为nacos/nacos
,登录后可修改密码为 QinshanTop12#$
,创建命名空间后即可使用。
🚀 创建SpringBoot并接入nacos
项目源码:Demo4Book\sca\chaptertwo\restful-practice
登录SpringBoot脚手架官网(https://start.spring.io/),创建SpringBoot项目,并添加web依赖。
加入其他依赖,参考:
文件:Demo4Book/sca/chaptertwo/restful-practice/pom.xml
xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>chaptertwo</artifactId>
<groupId>com.alibaba.youxia</groupId>
<version>1.0.0.release</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>restful-practice</artifactId>
<groupId>com.alibaba.youxia</groupId>
<version>1.0.0.release</version>
<packaging>jar</packaging>
<name>restful-practice</name>
<description>用Spring Cloud Alibaba开发一个RestfulAPI服务</description>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
</dependencies>
</project>
配置项目,如下:
Demo4Book/sca/chaptertwo/restful-practice/src/main/resources/application.yaml
yaml
# Spring Cloud 配置
spring:
application:
name: restful-practice
main:
allow-bean-definition-overriding: true
cloud:
# Nacos注册中心的配置
nacos:
discovery:
# 对应本机的IP地址
server-addr: 127.0.0.1:8848
# 对应在Nacos中创建的命名空间
namespace: c7ba173f-29e5-4c58-ae78-b102be11c4f9
group: restful-practice
server:
# Tomcat的端口号,也可以随机选择
port: 8747
# Dubbo 配置项,对应 DubboConfigurationProperties 类
dubbo:
scan:
base-packages: com.alibaba.cloud.youxia
protocol:
name: dubbo
port: 26756
# Dubbo 服务注册中心的配置,对应 RegistryConfig 类
registry:
# 指定 Dubbo 服务注册中心的地址
address: nacos://127.0.0.1:8848
# Spring Cloud Alibaba Dubbo 的专属配置项,对应 DubboCloudProperties 类
cloud:
# 设置订阅的应用列表,多个用 (,)号分隔,默认为( * )表示订阅所有应用
subscribed-services: "*"
添加服务代码,如下:
Demo4Book/sca/chaptertwo/restful-practice/src/main/java/com/alibaba/cloud/youxia/RestfulPracticeController.java
java
package com.alibaba.cloud.youxia;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RestfulPracticeController {
@GetMapping(value = "/testRestfulApi")
public String testRestfulApi(){
return "test";
}
}
Demo4Book/sca/chaptertwo/restful-practice/src/main/java/com/alibaba/cloud/youxia/RestfulApiApplication.java
java
package com.alibaba.cloud.youxia;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class RestfulApiApplication {
public static void main(String[] args) {
SpringApplication.run(RestfulApiApplication.class, args);
}
}
服务启动后就会自动配置到nacos中,可在:nacos控制台 --> 服务管理 --> 服务列表 中查看。
🚀 2.3 Spring官方工具STS
Spring Tools(简称 STS),目前最新的版本是 4.10.0。STS 是由 Spring Framework 团队打造的 Spring Framework 开发工具。它融合了优秀的中间件及开发者工具。它以独立的进程运行。它在构建之初就考虑了性能问题,并且采用了最新的 Spring Framwork 技术,为开发基于Spring Framework 的企业应用提供了技术支持。
最新版本的 STS 可在各种编码环境中使用,例如 Eclipse、Visual Studio Code 和 Theia。
从 Spring Framework 官网下载对应操作系统的安装包。
🚀 2.4 Spring官方脚手架
Spring Framework 官方也提供了脚手架工具(https://start.spring.io/)。该脚手架工具有以下功能特性:
- 代码编译工具可以选择 Maven 或者 Gadle。
- 代码语言可以选择 Java、Kotlin 或 Groovy。
- 可以选择 Spring Boot 的版本。
- 可以添加组件的依赖关系。
- 可以配置项目元数据,包括:Group、Artifact、Name、Description和Package name。