springcloud分布式读取配置文件(config )



准备工作:在GitHub远程仓库上新建 new repository,新建三个properties文件
jdbc-dev.properties  jdbc-test.properties   jdbc-pro.properties  
分别对应开发,测试,上线三个阶段
文件中配置连接数据库的四要素


一.服务端


1.新建一个maven(war)项目springcloud-configserver


2.pom.xml加入的依赖:spring-cloud-config-server

org.springframework.boot
spring-boot-starter-parent
1.5.9.RELEASE




org.springframework.cloud
spring-cloud-dependencies
Dalston.SR4
pom
import






org.springframework.cloud
spring-cloud-config-server




3.src/main/resources目录下新建文件application.properties
该文件配置:


#配置文件存放在GitHub远程仓库上的路径
spring.cloud.config.server.git.uri= https://github.com/2363658697/springcloud-configserver.git


#端口
server.port=8089

4.新建一个启动类Main 添加注解:@EnableConfigServer


@EnableConfigServer   //启用分布式控制中心,从远程git仓库读取配置
@SpringBootApplication  //启动注解        
public class Main {


public static void main(String[] args) {
SpringApplication.run(Main.class, args);
}
}

5.运行Main类,控制台出现末尾出现下面字段则代表成功
Tomcat started on port(s): 8089 (http)
Started Main in 8.476 seconds (JVM running for 8.799)



可以通过http://localhost:8089/jdbc-dev.properties这样的路径来查看对应的properties文件的内容


二.客户端


1.新建一个maven(war)项目springcloud-configclient

2.pom.xml加入的依赖:spring-cloud-starter-config



    org.springframework.boot
    spring-boot-starter-parent
    1.5.9.RELEASE


   
       
            org.springframework.cloud
            spring-cloud-dependencies
            Dalston.SR4
            pom
            import
       

   






   
        org.springframework.cloud
        spring-cloud-starter-config
   

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




    org.springframework.boot
    spring-boot-starter-freemarker



   
    mysql
    mysql-connector-java




      org.mybatis.spring.boot
      mybatis-spring-boot-starter
      1.3.1
   

    
   

    com.alibaba
    druid
    1.1.5




3.1.src/main/resources目录下新建文件application.properties
该文件配置:
#端口,上下文路径
server.port=80
server.context-path=/sc

3.2.src/main/resources目录下新建文件bootstrap.properties
该文件配置:
#服务端的访问路径
spring.cloud.config.uri=http://localhost:8089
#name=jdbc, profiles=[dev]
spring.application.name=jdbc
spring.profiles.active=dev

4.新建配置类手动配置jdbc四要素
@Configuration
public class Config {


@Value("${driverClass}")
private String driverClass;

@Value("${password}")
private String password;

@Value("${url}")
private String url;

@Value("${usernamed}")
private String usernamed;

@Bean
public DataSource myDataSource(){
DruidDataSource dds=new DruidDataSource();
dds.setUrl(url);
dds.setDriverClassName(driverClass);
dds.setUsername(usernamed);
dds.setPassword(password);
return dds;
}
}


5.新建一个启动类Main
//必须添加SpringBootApplication 启用spring的自动配置功能
@SpringBootApplication
public class Main {
public static void main(String[] args) {
//启动会加载自动配置 
SpringApplication.run(Main.class, args);
}
}


6.运行Main类,控制台出现字段:Fetching config from server at: http://localhost:8089 
则代表从服务端获取数据,程序可正常访问

你可能感兴趣的:(springcloud)