Springboot apollo原理及使用方法詳解
文章背景
如果在spring boot中接入apollo官方文檔:https://github.com/ctripcorp/apollo/wiki使用官方的apollo
演示環(huán)境(Demo):
106.54.227.205賬號(hào)/密碼:apollo/admin
添加配置
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
啟動(dòng)類中添加代碼
添加@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.
數(shù)據(jù)庫(kù)配置如何使用?
同理,generatorConfig.xml中也可以讀取數(shù)據(jù)庫(kù)配置
<?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> <!--目標(biāo)數(shù)據(jù)庫(kù)配置--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="${spring.datasource.url}" userId="${spring.datasource.username}" password="${spring.datasource.password}" /> <!-- 指定生成的類型為java類型,避免數(shù)據(jù)庫(kù)中number等類型字段 --> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- 生成model模型,對(duì)應(yīng)的包,存放位置可以指定具體的路徑,如/ProjectName/src,也可以使用MAVEN來(lái)自動(dòng)生成 --> <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> <!--對(duì)應(yīng)的xml mapper文件 --> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources/mybatis"> <property name="enableSubPackages" value="false"/> </sqlMapGenerator> <!-- 對(duì)應(yīng)的dao接口 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.apollodemo.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="false"/> </javaClientGenerator> <!--定義需要操作的表及對(duì)應(yīng)的DTO名稱--> <table tableName="t_user" domainObjectName="User"/> </context> </generatorConfiguration>
項(xiàng)目demo地址https://github.com/KoMiles/spring-example/tree/master/apollo-demo
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
eclipse的web項(xiàng)目實(shí)現(xiàn)Javaweb購(gòu)物車的方法
這篇文章主要介紹了eclipse的web項(xiàng)目實(shí)現(xiàn)Javaweb購(gòu)物車的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Java實(shí)現(xiàn)后臺(tái)發(fā)送及接收json數(shù)據(jù)的方法示例
這篇文章主要介紹了Java實(shí)現(xiàn)后臺(tái)發(fā)送及接收json數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了java針對(duì)json格式數(shù)據(jù)的傳輸與操作相關(guān)技巧,需要的朋友可以參考下2018-12-12Spring cloud oauth2如何搭建認(rèn)證資源中心
這篇文章主要介紹了Spring cloud oauth2如何搭建認(rèn)證資源中心,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11java父子節(jié)點(diǎn)parentid樹形結(jié)構(gòu)數(shù)據(jù)的規(guī)整
這篇文章主要介紹了java父子節(jié)點(diǎn)parentid樹形結(jié)構(gòu)數(shù)據(jù)的規(guī)整,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事
變量就是系統(tǒng)為程序分配的一塊內(nèi)存單元,用來(lái)存儲(chǔ)各種類型的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07Spring Security之默認(rèn)的過(guò)濾器鏈及自定義Filter操作
這篇文章主要介紹了Spring Security之默認(rèn)的過(guò)濾器鏈及自定義Filter操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06Spring線程池ThreadPoolTaskExecutor配置詳情
本篇文章主要介紹了Spring線程池ThreadPoolTaskExecutor配置詳情,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03