项目实战之乐优商城01后台项目搭建、测试

编程

项目的基本结构及功能如下图所示,这里使用maven构建项目,然后手动导入依赖,不使用Spring Initializr快速创建是为了让项目没有那没多花里胡哨的依赖,自己添加更容易管理

下面是各个模块的pom.xml和application.yml(因为是初始工程,所以有些模块没有引入依赖和规定一些配置,因此就不一一列出)


leyou (父工程)

pom.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 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.leyou.parent</groupId>

<artifactId>leyou</artifactId>

<version>1.0.0-SNAPSHOT</version>

<modules>

<module>leyou-registry</module>

<module>leyou-registry</module>

<module>leyou-gateway</module>

<module>leyou-item</module>

<module>leyou-common</module>

</modules>

<packaging>pom</packaging>

<name>leyou</name>

<description>Demo project for Spring Boot</description>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.0.6.RELEASE</version>

<relativePath/> <!-- lookup parent from repository -->

</parent>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<java.version>1.8</java.version>

<spring-cloud.version>Finchley.SR2</spring-cloud.version>

<mybatis.starter.version>1.3.2</mybatis.starter.version>

<mapper.starter.version>2.0.2</mapper.starter.version>

<druid.starter.version>1.1.9</druid.starter.version>

<mysql.version>5.1.32</mysql.version>

<pageHelper.starter.version>1.2.3</pageHelper.starter.version>

<leyou.latest.version>1.0.0-SNAPSHOT</leyou.latest.version>

<fastDFS.client.version>1.26.1-RELEASE</fastDFS.client.version>

</properties>

<dependencyManagement>

<dependencies>

<!-- springCloud -->

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-dependencies</artifactId>

<version>${spring-cloud.version}</version>

<type>pom</type>

<scope>import</scope>

</dependency>

<!-- mybatis启动器 -->

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>${mybatis.starter.version}</version>

</dependency>

<!-- 通用Mapper启动器 -->

<dependency>

<groupId>tk.mybatis</groupId>

<artifactId>mapper-spring-boot-starter</artifactId>

<version>${mapper.starter.version}</version>

</dependency>

<!-- 分页助手启动器 -->

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper-spring-boot-starter</artifactId>

<version>${pageHelper.starter.version}</version>

</dependency>

<!-- mysql驱动 -->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>${mysql.version}</version>

</dependency>

<!--FastDFS客户端-->

<dependency>

<groupId>com.github.tobato</groupId>

<artifactId>fastdfs-client</artifactId>

<version>${fastDFS.client.version}</version>

</dependency>

</dependencies>

</dependencyManagement>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

</project>

leyou-registry

pom.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 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<parent>

<artifactId>leyou</artifactId>

<groupId>com.leyou.parent</groupId>

<version>1.0.0-SNAPSHOT</version>

</parent>

<modelVersion>4.0.0</modelVersion>

<groupId>com.leyou.registry</groupId>

<artifactId>leyou-registry</artifactId>

<version>1.0.0-SNAPSHOT</version>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>

</dependency>

</dependencies>

</project>

application.yml

server:

port: 10086 #访问端口

spring:

application:

name: leyou-registry #项目名

eureka:

client:

service-url:

defaultZone: http://localhost:10086/eureka

register-with-eureka: false #关闭 将自己注册到服务中心

fetch-registry: false # 关闭自动拉取服务

server:

enable-self-preservation: false # 关闭自我保护

eviction-interval-timer-in-ms: 5000 # 每隔5秒进行一次服务列表清理

leyou-item-service

pom.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 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<parent>

<artifactId>leyou-item</artifactId>

<groupId>com.leyou.item</groupId>

<version>1.0.0-SNAPSHOT</version>

</parent>

<modelVersion>4.0.0</modelVersion>

<groupId>com.leyou.item.service</groupId>

<artifactId>leyou-item-service</artifactId>

<version>1.0.0-SNAPSHOT</version>

<dependencies>

<!-- web启动器 -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<!-- eureka客户端 -->

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>

</dependency>

<!-- mybatis的启动器 -->

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

</dependency>

<!-- 通用mapper启动器 -->

<dependency>

<groupId>tk.mybatis</groupId>

<artifactId>mapper-spring-boot-starter</artifactId>

</dependency>

<!-- 分页助手启动器 -->

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper-spring-boot-starter</artifactId>

</dependency>

<!-- jdbc启动器 -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-jdbc</artifactId>

</dependency>

<!-- mysql驱动 -->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

</dependency>

<dependency>

<groupId>com.leyou.item.interface</groupId>

<artifactId>leyou-item-interface</artifactId>

<version>1.0.0-SNAPSHOT</version>

</dependency>

<!-- springboot检测服务启动器 -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

</dependencies>

</project>

application.yml

server:

port: 8081

spring:

application:

name: leyou-item-service

datasource:

url: jdbc:mysql://localhost:3306/leyou

username: root

password: 0611

hikari:

max-lifetime: 28830000 # 一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟,建议设置比数据库超时时长少30秒,参考MySQL wait_timeout参数(show variables like "%timeout%";)

maximum-pool-size: 9 # 连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count)

eureka:

client:

service-url:

defaultZone: http://localhost:10086/eureka

instance:

lease-renewal-interval-in-seconds: 5 # 5秒钟发送一次心跳

lease-expiration-duration-in-seconds: 10 # 10秒不发送就过期

leyou-gateway

pom.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 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<parent>

<artifactId>leyou</artifactId>

<groupId>com.leyou.parent</groupId>

<version>1.0.0-SNAPSHOT</version>

</parent>

<modelVersion>4.0.0</modelVersion>

<groupId>com.leyou.gateway</groupId>

<artifactId>leyou-gateway</artifactId>

<version>1.0.0-SNAPSHOT</version>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-zuul</artifactId>

</dependency>

<!-- springboot提供微服务检测接口,默认对外提供几个接口 -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

</dependencies>

</project>

application.yml

server:

port: 10010

spring:

application:

name: leyou-gateway

eureka:

client:

service-url:

defaultZone: http://localhost:10086/eureka

registry-fetch-interval-seconds: 5 # 拉取服务的间隔时间

zuul:

prefix: /api # 注意:前面有个斜杠

routes:

leyou-item-service: /item/**

测试

运行

访问:localhost:10086 (服务注册中心)

鼠标放在链接上面,浏览器底部会弹出一个地址,因为我们导入了这个依赖,这就是actuator提供的接口

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

我们点击访问:

因为我们没有添加信息,所以是一个空的json,但是可以肯定的是:我们能够访问到item-service了。

接下来我们通过路由访问试试,根据路由规则,我们需要访问的地址是:

http://localhost:10010/api/item/actuator/info

以上是 项目实战之乐优商城01后台项目搭建、测试 的全部内容, 来源链接: utcz.com/z/511419.html

回到顶部