项目架构
dw
|
|----dw-demo(接口demo)
|
|----dw-core(代码核心)
|
|----dw-api(接口,依赖dw-core)
|
|----dw-manage(后台,依赖dw-core)
一、准备工作
首先看下各模块pom文件
1、项目父工程POM
<?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.rd</groupId> <artifactId>dw</artifactId> <version>2.0.0</version> <packaging>pom</packaging> <modules> <module>dw-core</module> <!--核心业务 --> <module>dw-manage</module><!-- 后台 --> <module>dw-api</module><!-- API --> <module>dw-demo</module><!-- demo --> </modules> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> </project>
2、dw-core的POM
<?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> <artifactId>dw-core</artifactId> <packaging>jar</packaging> <parent> <groupId>com.rd</groupId> <artifactId>dw</artifactId> <version>2.0.0</version> <relativePath>../pom.xml</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> <relativePath/> </properties> <dependencies> ...... </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <classifier>exec</classifier> </configuration> </plugin> </plugins> </build> </project>
3、dw-demo的pom文件
<?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> <artifactId>dw-demo</artifactId> <packaging>jar</packaging> <parent> <groupId>com.rd</groupId> <artifactId>dw</artifactId> <version>2.0.0</version> <relativePath>../pom.xml</relativePath> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> ...... </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> <!-- Docker maven plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <imageName>${project.groupId}/${project.artifactId}:${project.version}</imageName> <dockerDirectory>src/main/resources/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <!-- Docker maven plugin --> </plugins> </build> </project>
4、dw-api和dw-manage的pom和dw-demo类似,这里就不展示了
二、创建Dockerfile文件
在dw-demo、dw-api、dw-manage三个模块的sr/main/resources/docker下分别创建Dockerfile文件,Dockerfile 文件用来说明如何来构建镜像。这里以dw-demo为例来说明,文件内容如下:
# 指定基础镜像 FROM hub.c.163.com/library/java # 指定作者名和E-mail MAINTAINER lihua "lh@erongdu.com" #指定挂载点 VOLUME /tmp #将本地文件或目录复制到由dockerfile构建的镜像中 ADD dw-demo-2.0.0.jar demo.jar #设置环境变量 #ENV JAVA_OPTS="" #提供容器运行的默认命令 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-jar", "/demo.jar"]
三、构建打包环境
在服务器上安装jdk、maven 、docker、svn,具体参考如下链接,这里不做赘述。
四、docker部署spring-boot工程
1、进入父工程pom文件所在目录,打包编译,将依赖包放至本地仓库
mvn clean install package -Dmaven.test.skip
2、进入各模块,使用 DockerFile 构建镜像
cd dw-demo mvn package docker:build -Dmaven.test.skip
3、运行该镜像
docker run -p 9882:8082 -t com.rd/dw-demo:2.0.0
五、查看服务
相关推荐
这个"spring-boot-reference中文版"是Spring Boot官方用户指南的中文翻译版,旨在帮助中国开发者更好地理解和使用Spring Boot。 Spring Boot的核心特性包括自动配置、起步依赖、内嵌Web服务器(如Tomcat或Jetty)...
这在"spring-boot-mmanyexamples"中,可能有多个示例展示了如何配置和使用这些内嵌服务器。 4. **健康检查与Actuator** Actuator是Spring Boot提供的一个模块,用于监控和管理应用程序。它提供了健康检查、审计、...
该项目是Spring Boot的一个实战示例,包含多个模块,展示了Spring Boot如何构建实际应用。我们主要关注以下几个关键部分: 1. 配置文件:`application.properties`或`application.yml`,用于定义应用的环境变量和...
Spring-Boot-Plus是一个专为简化Web应用开发而设计的高效、功能丰富的开源脚手架,基于Spring Boot。它旨在帮助开发者快速构建后台管理系统,节省时间和精力,提高开发效率。这个压缩包“spring-boot-plus-master....
Spring Boot应用可打包为单一的jar文件,易于Docker化,结合Jenkins等工具,实现持续集成和持续部署。 9. **社区支持与更新** Spring Boot 1.3.6.RELEASE虽然已不是最新版本,但其社区活跃,文档齐全,仍有许多...
1. **解压文件**:使用 `tar -zxvf spring-boot-3.0.6.tar.gz` 命令解压。 2. **进入解压后的目录**:`cd spring-boot-3.0.6`。 3. **运行应用**:如果是可执行 JAR,运行 `java -jar spring-boot-3.0.6.jar`;如果...
- Spring Boot的后续版本带来了更多改进和新特性,如1.5.x增加了对Java 9的支持,2.x版本则引入了Spring Cloud Gateway、WebFlux等现代技术。 7. **社区支持与学习资源** - 官方文档:详尽的官方文档是学习Spring...
5. **云原生支持**:Spring Boot与Docker、Kubernetes等云平台的良好集成,使得应用更容易部署到云端。 四、如何使用Spring Boot 2.0.0.M1 下载并解压"spring-boot-2.0.0.M1"压缩包,你可以找到项目的基础结构和...
8. **Docker 集成**:Spring Boot 可以很容易地与 Docker 结合,方便容器化部署。 9. **微服务架构**:Spring Boot 与 Spring Cloud 结合,可以构建分布式系统,实现服务发现、配置中心、负载均衡等功能。 10. **...
API文档通常包含了Spring Boot核心库和相关模块的Javadoc。通过这些API,开发者可以了解各种类、接口和方法的用途,以及它们如何相互协作来实现特定功能。例如,`SpringApplication`类用于启动Spring Boot应用,`@...
通过在 Maven 或 Gradle 构建脚本中引入特定的起步依赖,可以自动配置相应的 Spring 组件和第三方库,例如 `spring-boot-starter-web` 用于创建Web应用,`spring-boot-starter-data-jpa` 用于数据库操作等。...
这些起步依赖是 Maven 或 Gradle 的模块,包含了构建 Spring 应用所需的一组相关依赖。 - **自动配置(Auto Configuration)**:Spring Boot 会根据项目中引入的依赖自动配置相应的 Bean。例如,如果你引入了 `...
9. **Docker 支持**:由于 Spring Boot 应用通常打包为单个可执行 JAR,这使其非常适合 Docker 容器化,可以轻松地在 Docker 平台上部署和扩展。 10. **社区支持**:Spring 社区庞大且活跃,提供了丰富的教程、文档...
通过Docker容器化,开发者可以轻松地将Spring Boot应用部署到云端。 九、持续集成与部署 Spring Boot 1.5.19.RELEASE支持常见的持续集成工具,如Jenkins、Travis CI等,方便自动化构建与测试。其构建产出的可执行...
7. Docker容器化:使用Docker和Docker Compose将服务打包成容器,便于部署和扩缩容。 8. CI/CD:Jenkins或GitLab CI/CD实现持续集成和持续部署,提升开发效率。 通过Spring Boot Game,我们可以学习到如何利用...
3. **Spring Boot与云服务**:讨论Spring Boot如何与Docker、Kubernetes等云平台集成,实现容器化部署。 4. **安全**:介绍Spring Security,如何配置认证和授权,以及OAuth2的集成。 5. **测试**:涵盖单元测试和...
在这个项目中,Spring Boot作为核心框架,负责应用的启动、依赖管理和微服务治理。 二、支付系统设计 支付系统通常包括订单管理、支付渠道管理、交易状态同步、退款处理等多个模块。在这个项目中,开发者将这些功能...
对于持续集成和部署,Spring Boot 支持 JUnit 和 Spring Boot Test 来编写测试用例,以及使用 Docker 容器化应用。 在 `spring-boot-spring-loaded-master` 项目中,我们可以期待找到关于如何集成和使用这两个工具...
Spring Boot以“开箱即用”为理念,内置了Tomcat服务器,自动配置了许多Spring模块,使得开发者可以快速构建微服务或单体应用。秒杀系统(seckill)通常涉及到高并发场景下的商品限量抢购,因此对系统的性能、响应...
1. **Spring Boot**:理解Spring Boot的核心特性,如自动配置、起步依赖、内嵌Web服务器等,以及如何利用它快速搭建微服务。 2. **分布式架构**:了解分布式系统的基本概念,包括负载均衡、服务发现、通信协议(如...