• 【spring-boot】如何使用apollo


    文章背景

    使用官方的apollo

    演示环境(Demo):

    添加配置

    spring-boot中如何使用呢

    pom.xml中添加配置

            <dependency>
                <groupId>com.ctrip.framework.apollo</groupId>
                <artifactId>apollo-client</artifactId>
                <version>1.1.0</version>
            </dependency>
    

     配置文件中添加apollo地址

    app:
      id: komiles
    apollo:
      meta: http://106.54.227.205:8080
      bootstrap:
        enabled: true
        namespaces: application
    

    启动类中添加代码

    添加@EnableApolloConfig注解

    package com.example.apollodemo;
    
    import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    @EnableApolloConfig
    @MapperScan("com.example.apollodemo.mapper")
    public class ApolloDemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ApolloDemoApplication.class, args);
            System.out.println("============ apollo demo application end =============");
        }
    }
    

     controller类新增文件

    ApolloController.java

    package com.example.apollodemo.controller;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * @author komiles@163.com
     * @date 2020-05-06 17:28
     */
    @RestController
    @RequestMapping("/apollo")
    public class ApolloController {
    
        @Value("${name}")
        private String name;
    
        @GetMapping("/name")
        public String name()
        {
            return name;
        }
    }
    

      可以读取到配置为kongming.

    数据库配置如何使用?

    同理,generatorConfig.xml中也可以读取数据库配置

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfiguration
    PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

    <generatorConfiguration>
    <context id="mysqlTables" targetRuntime="MyBatis3">
    <commentGenerator>
    <property name="suppressDate" value="false"/>
    <property name="suppressAllComments" value="true"/>
    </commentGenerator>
    <!--目标数据库配置-->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
    connectionURL="${spring.datasource.url}"
    userId="${spring.datasource.username}"
    password="${spring.datasource.password}" />
    <!-- 指定生成的类型为java类型,避免数据库中number等类型字段 -->
    <javaTypeResolver>
    <property name="forceBigDecimals" value="false"/>
    </javaTypeResolver>
    <!-- 生成model模型,对应的包,存放位置可以指定具体的路径,如/ProjectName/src,也可以使用MAVEN来自动生成 -->
    <javaModelGenerator targetPackage="com.example.apollodemo.dao" targetProject="src/main/java">
    <property name="enableSubPackages" value="false"/>
    <property name="trimStrings" value="true"/>
    <property name="immutable" value="false"/>
    </javaModelGenerator>
    <!--对应的xml mapper文件 -->

    <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources/mybatis">
    <property name="enableSubPackages" value="false"/>
    </sqlMapGenerator>
    <!-- 对应的dao接口 -->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.apollodemo.mapper" targetProject="src/main/java">
    <property name="enableSubPackages" value="false"/>
    </javaClientGenerator>
    <!--定义需要操作的表及对应的DTO名称-->
    <table tableName="t_user" domainObjectName="User"/>
    </context>
    </generatorConfiguration>

      

    项目demo地址

  • 相关阅读:
    Linux常用命令
    Linux静态函数库与动态函数库
    解决MySQL5.7的表无法插入中文的问题
    MySQL与postgreSQL在left join查询时的区别
    《刻意练习》读书笔记
    在Golang中实现与Python装饰器类似功能的方法
    项目中使用进程内缓存的一些经验及注意事项
    Golang中使用recover捕获panic的操作及遇到的一个坑
    Python与Golang中给列表中字典按照某个key排序的实现
    浅谈Python与Golang中的“延迟绑定机制”
  • 原文地址:https://www.cnblogs.com/wangkongming/p/12838472.html
Copyright © 2020-2023  润新知