介绍SpringCloud,以及搭建环境。
SpringCloud是分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体。俗称:微服务全家桶。
之前SpringCloud有D版和SpringBoot 1.X版配合搭建,这两个版本已经过时了。
现在使用SpringCloud H版和SpringBoot 2.X版。
SpringBoot和SpringCloud有严格的版本对应,他们之前不同版本可能存在冲突!因此必须严格按照官网来对应。
更详细的版本对应查看网址:http://start.spring.io/actuator/info
以下红叉的是已经停止更新维护的。
服务总线:
总体上,技术图:
因为使用的是maven环境,就是约定 > 配置 > 编码
。
Transparent native-to-ascii conversion的意思是:自动转换ASCII编码。
第三步:注解生效激活。
第五步:File Type 过滤,随意设置,这个就是过滤那些像.idea ,.iml等等的这种和代码本身没有直接关联的可以不让他们显示。
第一步:packaging设置为pom,父工程都会设置为pom。
第三步:配置pom文件相关依赖版本。
<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">
<modelVersion>4.0.0modelVersion>
<groupId>com.itholmes.springcloudgroupId>
<artifactId>cloud2020artifactId>
<version>1.0-SNAPSHOTversion>
<packaging>pompackaging>
<properties>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
<maven.compiler.source>1.8maven.compiler.source>
<maven.compiler.target>1.8maven.compiler.target>
<junit.version>4.12junit.version>
<log4j.version>1.2.17log4j.version>
<lombk.version>1.16.18lombk.version>
<mysql.version>8.0.18mysql.version>
<druid.version>1.1.16druid.version>
<mybatis.spring.boot.version>1.3.0mybatis.spring.boot.version>
properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-dependenciesartifactId>
<version>2.2.2.RELEASEversion>
<type>pomtype>
<scope>importscope>
dependency>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-dependenciesartifactId>
<version>Hoxton.SR1version>
<type>pomtype>
<scope>importscope>
dependency>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-alibaba-dependenciesartifactId>
<version>2.1.0.RELEASEversion>
<type>pomtype>
<scope>importscope>
dependency>
<dependency>
<groupId>org.mybatis.spring.bootgroupId>
<artifactId>mybatis-spring-boot-starterartifactId>
<version>${mybatis.spring.boot.version}version>
dependency>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>${junit.version}version>
dependency>
<dependency>
<groupId>log4jgroupId>
<artifactId>log4jartifactId>
<version>${log4j.version}version>
dependency>
dependencies>
dependencyManagement>
<name>Mavenname>
<url>http://maven.apache.org/url>
<inceptionYear>2001inceptionYear>
project>
type-aliases-package可以生命别名!!
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.itholmes.springcloud.entities # 所有Entity别名类所在包
useGeneratedKeys=“true” 和 keyProperty主键 从而返回值就是主键ID值:
<insert id="create" parameterType="Payment" useGeneratedKeys="true" keyProperty="id">
insert into payment (serial) values (#{serial})
insert>
第一步:Adding devtools 。
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-devtoolsartifactId>
<version>2.7.0version>
dependency>
第二步:Adding plugin。
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
<configuration>
<fork>truefork>
<addResources>trueaddResources>
configuration>
plugin>
plugins>
build>
第三步:Enabling automatic build。设置idea。
第四步:update the value of。
第五步:重启idea,这样就会热部署自动化配置了。
如何让Run Dashboard显示到idea的下方任务栏中:
第一步:打开父项目对应的.idea目录,找到workspace.xml文件。
第二步:添加配置如下中:
第三步:重启idea就可以了。
一般多个微服务都会公用一个公用模块项目(一般叫做common)。
这个项目存放的一般都是pojo类,Utils工具类等等公共代码。通过maven的install或者deploy的特性,通过GAV添加对应依赖,从本地或者私服来获得该jar包。
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率。
Hutool是项目中“util”包友好的替代
,它节省了开发人员对项目中公用类和公用工具方法的封装时间
,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。
<dependency>
<groupId>cn.hutoolgroupId>
<artifactId>hutool-allartifactId>
<version>5.6.5version>
dependency>
第一步:导入SpringBoot相关依赖。
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-actuatorartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-devtoolsartifactId>
<scope>runtimescope>
<optional>trueoptional>
dependency>
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<optional>trueoptional>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>
<dependency>
<groupId>org.mybatis.spring.bootgroupId>
<artifactId>mybatis-spring-boot-starterartifactId>
dependency>
第二步:在Resource目录下,创建application.yml文件。
第三步:在创建对应的SpringBoot启动Main方法。
package com.itholmes.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class OrderMain80 {
public static void main(String[] args) {
SpringApplication.run(OrderMain80.class,args);
}
}