微服务环境搭建
名词解释:
1、准备
实现配置好Java开发环境,包括jdk的安装、IDEA的安装;
注:SpringBoot2.0版本中要求最低的jdk的版本是1.8;
2、创建一个SpringBoot工程
file—new—project—Spring Initializr—选择SDK—next
填写Group和Artifact——选择默认的Maven工程,其他配置默认——next
开发Java web项目,至少选择一个勾选web中的web——finish——finish;
IDEA会从Spring.io官网下载工程模板。等待pom.xml文件下载相关的依赖,简单的SpringBoot项目搭建完成。
3、项目运行及配置
创建后的项目的结构如下:
其中HelloworldApplication是可运行文件;右键点击运行即可
若出现Caused by: java.net.BindException: Address already in use: bind错误则表示Tomcat的端口号被占用。
解决办法:在项目的根目录下创建application.properties配置文件,并在里面修改端口号,添加信息:“server.port=8888”
在HelloworldApplication中编写一下代码,运行测试:
@RestController
//里面包含组合注解,在IDEA中可Ctrl+左键点开查看
@SpringBootApplication
public class HelloworldApplication {
public static void main(String[] args) {
SpringApplication.run(HelloworldApplication.class, args);
}
@GetMapping("/hi")
public String hi(){
return "hello world!";
}
}
打开本地浏览器,输入网址:http://localhost:8888/hi进行测试
若出现"hello world!"则运行成功。
注:此处未编写“/”的无映射文件,若直接输入http://localhost:8888会出现错误信息的页面。
4、Maven的使用
maven的核心是pom文件, pom文件以xml文件的形式来表示资源,包括一些依赖jar、插件、构建文件等,maven的工作流程:
1)Maven读取pom文件,pom文件是Maven文件的核心,所有的项目依赖、插件都在pom文件中统一管理。
2)下载依赖jar到本地仓库。手动添加依赖的网址:https://maven.aliyun.com/mvn/view,在idea中保存后自动下载。
若出现网络卡顿,可以右键点击pom.xml文件——maven——reimport;
3)执行构建的生命周期;
4)执行构建插件。
pom文件是一个xml文件,用于描述项目用到的资源、项目依赖、插件、代码位置等信息,是整个工程的核心,一般放在项目的根目录下,具体的结构如下:
1)<?xml version="1.0" encoding="UTF-8"?>指定了xml的版本和编码方式;
2)<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 http://maven.apache.org/xsd/maven-4.0.0.xsd"></project>
project标签是该文件的根元素,声明了pom相关的命名空间;
3)<modelVersion>4.0.0</modelVersion>指定了pom的版本;
4)<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --></parent>指定父pom。
场景:有两个web项目A、B,一个java项目C,它们都需要用到同一个jar包:common.jar。如果分别在三个项目的pom文件中定义各自对common.jar的依赖,那么当common.jar的版本发生变化时,三个项目的pom文件都要改,项目越多要改的地方就越多,很麻烦。这时候就需要用到parent标签, 我们创建一个parent项目,打包类型为pom,parent项目中不存放任何代码,只是管理多个项目之间公共的依赖。在parent项目的pom文件中定义对common.jar的依赖,ABC三个子项目中只需要定义<parent></parent>,parent标签中写上parent项目的pom坐标就可以引用到common.jar了。
5)<groupId>com.docen</groupId>代表了公司、组织的名称,一般为公司域名倒写
<artifactId>helloworld</artifactId>代表本项目的全局唯一ID
<version>0.0.1-SNAPSHOT</version>该项目的版本
6)<properties> <java.version>1.8</java.version></properties>用于声明一些常量。
7)<dependencies></dependencies>依赖的根元素
8)<dependency></dependency>依赖,存在于其根元素之中,可以有多个
9)<build></build>构建标签,可以包含<plugins>(插件)标签,<plugins>里可以包含多个<plugin>
5、热部署
环境:idea、Springboot
1)添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<!-- optional=true,依赖不会传递 -->
<optional>true</optional>
<scope>runtime</scope>
</dependency>
2)更改idea配置:
“File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically”
组合键:(Windows平台)“Shift+Ctrl+Alt+/” 、(MAC平台)“Shift+CMD+Alt+/” ,选择 “Registry” ,选中打勾 “compiler.automake.allow.when.app.running”
3)Chrome禁用缓存:
F12或者“Ctrl+Shift+I”,打开开发者工具,“Network” 选项卡下 选中打勾 “Disable Cache(while DevTools is open)”
配置完成。
6、生成jar包
1)菜单:File->project stucture
2)在弹窗最左侧选中Artifacts->"+",选jar,选择from modules with dependencies,然后会有配置窗口出现,设置主类和MF文件的位置 ;
3)在build菜单中点击build Artfacts 生成jar包,如下
4)结果