成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

【Rainbond最佳實(shí)踐】Spring Boot框架配置MySQL

xingqiba / 1819人閱讀

摘要:最佳實(shí)踐框架配置開源軟件介紹是國(guó)內(nèi)首個(gè)開源的生產(chǎn)級(jí)無(wú)服務(wù)器。詳細(xì)介紹項(xiàng)目地址框架簡(jiǎn)化了新應(yīng)用的初始搭建以及開發(fā)過程,云幫支持平臺(tái)部署類應(yīng)用。配置數(shù)據(jù)庫(kù)云幫提供的相關(guān)配置目錄結(jié)構(gòu)如下,配置文件內(nèi)容僅供參考。

【Rainbond最佳實(shí)踐】Spring Boot框架配置MySQL
Rainbond開源軟件介紹:
Rainbond是國(guó)內(nèi)首個(gè)開源的生產(chǎn)級(jí)無(wú)服務(wù)器PaaS。
深度整合基于Kubernetes的容器管理、多類型CI/CD應(yīng)用構(gòu)建與交付、多數(shù)據(jù)中心的資源管理等技術(shù),提供云原生應(yīng)用全生命周期解決方案,構(gòu)建應(yīng)用與基礎(chǔ)設(shè)施、應(yīng)用之間及基礎(chǔ)設(shè)施之間的互聯(lián)互通生態(tài)體系。12月12日,Rainbond正式開源。

[Rainbond詳細(xì)介紹](http://www.rainbond.com/docs/stable/getting-started/design-concept.html)
[Rainbond項(xiàng)目地址](https://github.com/goodrain/rainbond)

Spring Boot框架簡(jiǎn)化了新Spring應(yīng)用的初始搭建以及開發(fā)過程,云幫支持平臺(tái)部署Spring Boot類應(yīng)用。

云幫提供Spring Boot配置MySQL服務(wù)的示例,去云市一鍵式部署Spring Boot-MySQL示例

以下內(nèi)容是本地創(chuàng)建和運(yùn)行該示例的過程:

創(chuàng)建示例

使用spring-boot-cli創(chuàng)建示例

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

進(jìn)入示例類文件存放目錄

$ 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);
        }
}
構(gòu)建示例

為了加快maven構(gòu)建,在setting.xml中添加了國(guó)內(nèi)的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
運(yùn)行

執(zhí)行以下命令運(yùn)行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查看運(yùn)行結(jié)果。

配置數(shù)據(jù)庫(kù)

云幫提供Spring-boot-mysql-demo的相關(guān)配置目錄結(jié)構(gòu)如下,配置文件內(nèi)容僅供參考。

詳細(xì)配置參考下文:

連接MySQL

添加以下內(nèi)容,將此應(yīng)用與數(shù)據(jù)庫(kù)進(jìn)行連接。

pom.xml內(nèi)添mysql數(shù)據(jù)庫(kù)服務(wù) :


   mysql
   mysql-connector-java
   5.1.9

添加JDBC驅(qū)動(dòng):


   org.springframework.boot
   spring-boot-starter-jdbc

application.properties添加數(shù)據(jù)庫(kù)連接信息:

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();
    }
}
數(shù)據(jù)庫(kù)初始化

使用 JPA 管理生成實(shí)體的映射關(guān)系的代碼。


   org.springframework.boot
   spring-boot-starter-data-jpa

數(shù)據(jù)庫(kù)重構(gòu)與遷移

使用LiquiBase,以便將JPA生成實(shí)體的映射關(guān)系在數(shù)據(jù)庫(kù)體現(xiàn)。第一步,在pom.xml添加:


   org.liquibase
   liquibase-core
   3.4.1

第二步,創(chuàng)建 Liquibase 的修改日志,默認(rèn)從 db.changelog-master.yaml 讀?。?/p>

databaseChangeLog:
  - changeSet:
      id: 1
      author: 
      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可以幫助渲染XML、XHTML、HTML5內(nèi)容的模板引擎,它也可以輕易的與Spring MVC等Web框架集成作為Web應(yīng)用的模板引擎。在pom.xml中添加:


   org.springframework.boot
   spring-boot-starter-thymeleaf
docker化改造

為了支持 Spring Boot MySQL demo 輕松部署在云幫,將demo使用Dockerfile構(gòu)建鏡像,在云幫實(shí)現(xiàn)一鍵式部署

#使用配置好環(huán)境的父鏡像
FROM maven:3.5.2-jdk-7-alpine
#創(chuàng)建demo源碼工作目錄
RUN mkdir /app
#將本地源碼拷貝到鏡像中
COPY . /app/
#指定工作目錄
WORKDIR /app
#聲明映射端口
EXPOSE 5000
#指定maven的配置文件,文件內(nèi)制定新的mirror地址
RUN mvn -B -DskipTests=true clean install
#啟動(dòng)腳本
ENTRYPOINT ["/app/run.sh"]
構(gòu)建鏡像
$ docker build -t goodrainapps/spring-boot-mysql-demo .
運(yùn)行
#運(yùn)行mysql
$ docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
#運(yùn)行示例
$ 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服務(wù)的運(yùn)行界面

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/68205.html

相關(guān)文章

  • 微服務(wù)架構(gòu)選Java還是選Go - 多用戶負(fù)載測(cè)試

    摘要:微服務(wù)架構(gòu)允許我們?cè)賱?chuàng)建新應(yīng)用時(shí)自由選擇不同的技術(shù)和編程語(yǔ)言。個(gè)用戶時(shí),性能顯著降低,而仍然是完美的。總結(jié)使用相同的硬件,應(yīng)用程序可以提供兩倍于具有數(shù)據(jù)庫(kù)的應(yīng)用的并發(fā)用戶數(shù)。 Ivan Nikitsenka 微服務(wù)架構(gòu)允許我們?cè)賱?chuàng)建新應(yīng)用時(shí)自由選擇不同的技術(shù)和編程語(yǔ)言。不過究竟哪種語(yǔ)言更適合我們當(dāng)下的硬件?回答這個(gè)問題,需要搞明白Java和Go編寫的相同應(yīng)用程序之間的性能差異。 先決條...

    lentoo 評(píng)論0 收藏0
  • Spring Cloud 微服務(wù)與 Service Mesh 的融合

    摘要:并不會(huì)在微服務(wù)框架中有其它的注冊(cè)機(jī)制。微服務(wù)框架本身不會(huì)維護(hù)服務(wù)組件的啟動(dòng)順序,這一問題可以由來解決。啟動(dòng)先后邏輯為被依賴的服務(wù)先啟動(dòng),只有當(dāng)前服務(wù)所依賴的服務(wù)全部正常啟動(dòng)后,才會(huì)開始啟動(dòng)流程。 概述 這篇文檔,著重解決一個(gè)問題:Spring Cloud 融合于 Rainbond 原生 Service Mesh 的正確姿勢(shì)是什么樣子的。 Rainbond 原生支持 Service Me...

    fyber 評(píng)論0 收藏0
  • 關(guān)于云平臺(tái),開發(fā)者需要做哪些準(zhǔn)備?

    摘要:微軟已經(jīng)很久沒有支持開源社區(qū)了,這也是很多公司不采用的原因之一。當(dāng)然微軟總是致力于提供無(wú)的工具簡(jiǎn)單的語(yǔ)法和良好的教程,他們最近也意識(shí)到,開源可以為提供更多的創(chuàng)新和業(yè)務(wù)。 得益于CTO、CEO和CDO們積極的推動(dòng),IT基礎(chǔ)設(shè)施正在向云環(huán)境遷移,底層架構(gòu)師則在熱烈討論圍繞著云原生應(yīng)用的SaaS、PaaS和微服務(wù)架構(gòu),而開發(fā)者們正在大顯身手,努力探索云計(jì)算的魔盒,找出什么是對(duì)業(yè)務(wù)有價(jià)值的,什...

    newtrek 評(píng)論0 收藏0
  • 【推薦】最新200篇:技術(shù)文章整理

    摘要:作為面試官,我是如何甄別應(yīng)聘者的包裝程度語(yǔ)言和等其他語(yǔ)言的對(duì)比分析和主從復(fù)制的原理詳解和持久化的原理是什么面試中經(jīng)常被問到的持久化與恢復(fù)實(shí)現(xiàn)故障恢復(fù)自動(dòng)化詳解哨兵技術(shù)查漏補(bǔ)缺最易錯(cuò)過的技術(shù)要點(diǎn)大掃盲意外宕機(jī)不難解決,但你真的懂?dāng)?shù)據(jù)恢復(fù)嗎每秒 作為面試官,我是如何甄別應(yīng)聘者的包裝程度Go語(yǔ)言和Java、python等其他語(yǔ)言的對(duì)比分析 Redis和MySQL Redis:主從復(fù)制的原理詳...

    BicycleWarrior 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<