真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何搭建基于docker環(huán)境搭建下springboot-mysql項(xiàng)目框架

本篇內(nèi)容介紹了“如何搭建基于docker環(huán)境搭建下springboot-MySQL項(xiàng)目框架”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計(jì),蚌山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:蚌山等地區(qū)。蚌山做網(wǎng)站價(jià)格咨詢:028-86922220

    在云時(shí)代,開發(fā)者創(chuàng)建的應(yīng)用必須要能很方便地在網(wǎng)絡(luò)上傳播,也就是說應(yīng)用必須脫離底層物理硬件的顯示;同時(shí)必須是“任何時(shí)間任何地點(diǎn)”可獲取的。我們通常想要快速搭建一個(gè)項(xiàng)目框架,數(shù)據(jù)庫(kù)的環(huán)境搭建需要消耗一定的精力,為了與外界系統(tǒng)環(huán)境隔離,推薦使用docker可以使我們把更多精力放在業(yè)務(wù)處理上。

實(shí)驗(yàn)環(huán)境

  • docker 17.12.0-ce 

  • mysql鏡像版本 5.7

  • jdk 1.8 

  • springboot 2.1.4.RELEASE

  • 開發(fā)工具:IntelliJ IDEA

環(huán)境搭建

首先安裝好docker,安裝docker網(wǎng)上方法有很多,這里不再贅述。

搭建好docker環(huán)境之后,拉取mysql鏡像,如下:

docker pull mysql:5.7

如果不指定mysql版本,默認(rèn)將會(huì)拉取最新latest版本。查看mysql鏡像是否安裝成功:

docker image ls
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
mysql                 5.7                 f6509bac4980        11 days ago         373MB

運(yùn)行容器,這里設(shè)置端口映射,并設(shè)置mysql的初始密碼,默認(rèn)用戶名是root:

docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

查看容器運(yùn)行狀態(tài):

docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
e87ae06931c8        mysql:5.7           "docker-entrypoint.s…"   4 seconds ago       Up 3 seconds        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

容器運(yùn)行正常,進(jìn)入容器,創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)test以及一張測(cè)試表tbl_test:

docker exec -it mysql /bin/bash

root@e87ae06931c8:/# mysql -uroot -p
mysql> create database test;
mysql> create table operatelog (id INT, userId varchar(255), operateDesc varchar(255));

這樣mysql環(huán)境就搭建起來(lái)了。

實(shí)戰(zhàn)源碼

https://github.com/vincentduan/mavenProject 下面的springboot-mysql項(xiàng)目

實(shí)戰(zhàn)步驟梳理

本次實(shí)戰(zhàn)的步驟如下:

  1. 創(chuàng)建springboot工程;

  2. 創(chuàng)建dao,使用JdbcTemplate連接mysql;

  3. 創(chuàng)建Service層的接口和實(shí)現(xiàn);

  4. 創(chuàng)建mysql連接池配置;

  5. 創(chuàng)建controller,開發(fā)一個(gè)http服務(wù)接口,里面會(huì)調(diào)用service層的服務(wù);

  6. 將springboot工程項(xiàng)目打包,使用docker封裝。

創(chuàng)建springboot工程

 用IntelliJ IDEA創(chuàng)建一個(gè)springboot的web工程springboot-mysql,pom.xml內(nèi)容如下:



    4.0.0

    com.vincent
    springboot-mysql
    1.0-SNAPSHOT

    
        UTF-8
        1.8
        1.8
    

    
        
            
                org.springframework.boot
                spring-boot-dependencies
                2.1.4.RELEASE
                import
                pom
            
        
    

    

        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-configuration-processor
            true
        
        
        
            mysql
            mysql-connector-java
        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
            com.alibaba
            druid
            1.1.6
        

        
            com.alibaba
            fastjson
            1.2.40
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.1.4.RELEASE
                
                    cn.ac.iie.App
                
                
                    
                        
                            repackage
                        
                    
                
            

            
                org.apache.maven.plugins
                maven-surefire-plugin
                
                    true
                
            
        
    

創(chuàng)建Dao層

@Repository
public class OperatelogDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;
    public void addOperatelog(int id) {
        String sql = "insert into operatelog (id) values (" + id + ")";
        jdbcTemplate.execute(sql);
    }
}

創(chuàng)建Service層的接口和實(shí)現(xiàn)

public interface OperatelogService {
    //測(cè)試簡(jiǎn)單插入一條數(shù)據(jù)
    void insert(int id);
}

對(duì)應(yīng)實(shí)現(xiàn)類,如下所示:

@Service
public class OperatelogServiceImpl implements OperatelogService {

    @Autowired
    OperatelogDao operatelogDao;

    public void insert(int id) {
        operatelogDao.addOperatelog(id);
    }
}

這個(gè)方法做的事情很簡(jiǎn)單:插入一條數(shù)據(jù)

mysql連接池配置

在application.properties中添加配置:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://docker所在服務(wù)器的IP地址:3306/test
spring.datasource.username=root
spring.datasource.password=123456

配置連接池,新建配置類,將配置文件中的屬性裝配到連接池中,如下所示:

@SpringBootConfiguration
public class DBConfiguration {

    @Autowired
    private Environment environment;

    @Bean
    public DataSource createDataSource() {
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setUrl(environment.getProperty("spring.datasource.url"));
        druidDataSource.setUsername(environment.getProperty("spring.datasource.username"));
        druidDataSource.setPassword(environment.getProperty("spring.datasource.password"));
        druidDataSource.setDriverClassName(environment.getProperty("spring.datasource.driver-class-name"));
        return druidDataSource;
    }
}

創(chuàng)建controller

創(chuàng)建一個(gè)controller為OperatelogController,里面定義一個(gè)http接口,做的事情是調(diào)用Service層的服務(wù),如下:

@RestController
@RequestMapping("operatelog")
public class OperatelogController {

    @Autowired
    OperatelogService operatelogService;

    @GetMapping("insert")
    public String insert(@RequestParam("id") int id) {
        operatelogService.queryOperateDesc();
        return "SUCCESS";
    }
}

驗(yàn)證效果

  1. 將這個(gè)springboot運(yùn)行起來(lái)(pom.xml所在文件夾下執(zhí)行mvn spring-boot:run);

  2. 在瀏覽器輸入:http://localhost:8080/operatelog/insert?id=1

  3. 瀏覽器中返回SUCCESS,檢查數(shù)據(jù)庫(kù)中多了一條數(shù)據(jù);執(zhí)行成功;

另外 

如果想將當(dāng)前springboot也放入到docker容器中運(yùn)行,也可以將當(dāng)前項(xiàng)目打包成jar,并上傳到服務(wù)器中,新建一個(gè)目錄,然后新建Dockerfile文件

Dockerfile內(nèi)容如下:

FROM java:8-alpine
ADD test-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]

在當(dāng)前目錄下,構(gòu)建鏡像,然后運(yùn)行:

docker build -t .
docker run -d -p 8088:8080 test

“如何搭建基于docker環(huán)境搭建下springboot-mysql項(xiàng)目框架”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


網(wǎng)頁(yè)名稱:如何搭建基于docker環(huán)境搭建下springboot-mysql項(xiàng)目框架
文章轉(zhuǎn)載:http://weahome.cn/article/godcgd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部