SpringCloud学习----阳哥(二)

理论完备之后,开始正式的编码环节。

一:微服务cloud整体聚合父工程Project

1.新建父工程步骤(搭建一个workSpace)------p5

(1)New Project

(2)聚合总父工程名字

(3)Maven选版本(这里是3.5.2) maven的下载地址:http://archive.apache.org/dist/maven/maven-3/3.5.2/binaries/

(4)工程名字(cloud2020)

(5)字符编码

 (6)注解生效激活(default那里也要选择Enable)

(7)Java编译版本选8

 (8)File Type过滤

过滤掉展示不用的多余文件,这步不是必须的。

2.父工程POM文件的编写-----p6

在pom文件里添加:工程需要的jar包,以及依赖,数据库等

3.maven工程的落地细节-----p7

(1)maven中的dependcyManagement 和depenceces二者的区别

(2)maven单元测试

备注:dependencyManagement和dependencies的区别

(1.)最顶层的父pom具备这个元素dependencyManagement,里面写明的版本号,可以直接被子pom继承使用,子pom就不用再指明版本号。

(2.)dependcyManagement里面只是申明了依赖,但是并没有真实引入。子pom中的a标签才是真实引入的步骤。

(3.)maven中需要跳过单元测试。(虽然我不知道为什么?)

二:正式开发环节----p8

构建支付模块Payment

1.微服务模块开发步骤:

(1)建module

选中项目根目录,New- Module

 

 

 (2)改pom

查看主pom下面多了一个modules,

编写子模块的pom文件,添加必要的依赖。

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

</dependencies>

 (3)写yml

在子模块下新建yml文件application.yml

(4)主启动

在子模块下构建主启动类,模块的启动入口

 (5)业务类------p9

2.针对于1中的业务类,具体的又可以划分为以下几个模块。

在实际过程中,后端程序员应该做的工作应该是 controller-service-dao-mysql

 (1)建表sql

创建数据库

 

(2)entities:a. 创建实体类 b. 引入三个注解 c. 序列化 (引入三个注解的作用,我不是很了解。。)

第二个注解表示全参构造方法,第三个参数表示空参构造方法。

还需要定义一个跟前端交互的结果返回类(通用:标准格式)T指的是具体的业务类,例如payment,具体列出的构造方法,表示data为空时的情况。

 (3)dao

写完dao层以后 接下来需要写mapper文件。

红色框中的东西是一个结果映射,因为column是数据库中的字段(会出现下划线),property是java实体类中定义的属性(大小写交替)

 (4)service(代码可以跟dao层中的内容一致)

肌肉记忆:dao类上面 带注解 mapper !!!!!

                 serviceImpl类上面 带注解 service !!!!

service 里面调用dao

(5)controller 

controller层涉及到和前端交互,因此需要对结果进行封装。

测试:

get方法很容易从浏览器测试得到结果,但是post方法,不太支持,用postMan方法用的比较多。

原文地址:https://www.cnblogs.com/maowuyu-xb/p/13735240.html