脚本宝典收集整理的这篇文章主要介绍了

【Rainbond最佳实践】Spring Boot框架配置MySQL

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

【Rainbond最佳实践】Spring Boot框架配置MySQL

Rainbond开源软件介绍: Rainbond是国内首个开源的生产级无服务器PaaS。 深度整合基于Kubernetes的容器管理、多类型CI/CD应用构建与交付、多数据中心的资源管理等技术,提供云原生应用全生命周期解决方案,构建应用与基础设施、应用之间及基础设施之间的互联互通生态体系。12月12日,Rainbond正式开源。  [Rainbond详细介绍](http://www.rainbond.com/docs/stable/getting-started/design-concept.html) [Rainbond项目地址](https://github.com/goodrain/rainbond)

Spring Boot框架简化了新Spring应用的初始搭建以及开发过程,云帮支持平台部署Spring Boot类应用。

云帮提供Spring Boot配置MySQL服务的示例,去云市一键式部署Spring Boot-MySQL示例

以下内容是本地创建和运行该示例的过程:

创建示例

使用spring-boot-cli创建示例

$ docker run -it --rm  -v $PWD:/app goodrainapps/spring-boot-cli:1.5.9 spring init --dependencies=web spring-boot-mysql-demo

进入示例类文件存放目录

$ cd spring-boot-mysql-demo/src/main/java/com/example/springbootmysqldemo

添加DemoApplication.java

@Controller @SpringBootApplication public class DemoApplication {          @RequestMapping("/")         @ResponseBody         String home() {                 return "Hello World!";         }          public static void main(String[] args) {                 SpringApplication.run(DemoApplication.class, args);         } }

构建示例

为了加快maven构建,在setting.xml中添加了国内的mirror。将setting.xml拷贝到您的spring-boot-mysql-demo中。

$ cd spring-boot-mysql-demo $ docker run -it --rm  -v "$PWD":/app/build  -w /app/build maven:3.5.2-jdk-7-alpine mvn -B -DskipTests=true -s settings.xml clean install

运行

执行以下命令运行Hello World 示例

$ cd spring-boot-mysql-demo $ docker run -it --rm -v $PWD:/app -w /app -p 8080:8080  goodrainapps/openjdk:8u131-jre-alpine java  -jar target/*.jar

访问http://localhost:8080查看运行结果。

配置数据库

云帮提供Spring-boot-mysql-demo的相关配置目录结构如下,配置文件内容仅供参考。

图片描述

详细配置参考下文:

连接MySQL

添加以下内容,将此应用与数据库进行连接。

pom.xml内添mysql数据库服务 :

<dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>5.1.9</version> </dependency>

添加JDBC驱动:

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>

application.properties添加数据库连接信息:

spring.datasource.url=jdbc:mysql://${MYSQL_HOST}:${MSYQL_PORT}/demo?createDatabaseIfNotExist=true spring.datasource.username=${MYSQL_USER} spring.datasource.password=${MYSQL_PASS} spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.maxActive=10 spring.datasource.maxIdle=5 spring.datasource.minIdle=2 spring.datasource.initialSize=5 spring.datasource.removeAbandoned=true

在源码添加DatabaseConfig.java

@Configuration public class DatabaseConfig {     @Bean     @Primary     @ConfigurationProperties(prefix = "spring.datasource")     public DataSource dataSource() {         return new org.apache.tomcat.jdbc.pool.DataSource();     } }

数据库初始化

使用 JPA 管理生成实体的映射关系的代码。

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency

数据库重构与迁移

使用LiquiBase,以便将JPA生成实体的映射关系在数据库体现。第一步,在pom.xml添加:

<dependency>    <groupId>org.liquibase</groupId>    <artifactId>liquibase-core</artifactId>    <version>3.4.1</version> </dependency>

第二步,创建 Liquibase 的修改日志,默认从 db.changelog-master.yaml 读取:

databaseChangeLog:   - changeSet:       id: 1       author: <your_name>       changes:         - createTable:             tableName: person             columns:               - column:                   name: id                   type: int                   autoIncrement: true                   constraints:                                             primaryKey: true                     nullable: false               - column:                   name: first_name                   type: varchar(255)                   constraints:                     nullable: false               - column:                   name: last_name                   type: varchar(255)                   constraints:                     nullable: false

模板渲染

Thymeleaf可以帮助渲染XMLXHTMLHTML5内容的模板引擎,它也可以轻易的与Spring MVC等Web框架集成作为Web应用的模板引擎。在pom.xml中添加:

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>

docker化改造

为了支持 Spring Boot MySQL demo 轻松部署在云帮,将demo使用Dockerfile构建镜像,在云帮实现一键式部署

#使用配置好环境的父镜像 FROM maven:3.5.2-jdk-7-alpine #创建demo源码工作目录 RUN mkdir /app #将本地源码拷贝到镜像中 COPY . /app/ #指定工作目录 WORKDIR /app #声明映射端口 EXPOSE 5000 #指定maven的配置文件,文件内制定新的mirror地址 RUN mvn -B -DskipTests=true clean install #启动脚本 ENTRYPOINT ["/app/run.sh"]

构建镜像

$ docker build -t goodrainapps/spring-boot-mysql-demo .

运行

#运行mysql $ docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
#运行示例 $ docker run -it --rm --link mysql    -p 5000:5000    -e MYSQL_HOST=mysql    -e MYSQL_PORT=3306    -e MYSQL_USER=root    -e MYSQL_PASS=123456    goodrainapps/spring-boot-mysql-demo

访问http://localhost:5000查看Spring Boot 框架配置MySQL服务的运行界面

图片描述

总结

以上是脚本宝典为你收集整理的

【Rainbond最佳实践】Spring Boot框架配置MySQL

全部内容,希望文章能够帮你解决

【Rainbond最佳实践】Spring Boot框架配置MySQL

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过