企业分布式微服务云SpringCloud SpringBoot mybatis (十九)Spring Boot 自定义配置文件

原创 2018年02月12日 09:53:01

上面介绍的是我们都把配置文件写到application.yml中。有时我们不愿意把配置都写到application配置文件中,这时需要我们自定义配置文件,比如test.properties:

com.forezp.name=forezp
com.forezp.age=12

怎么将这个配置文件信息赋予给一个javabean呢?

@Configuration
@PropertySource(value = "classpath:test.properties")
@ConfigurationProperties(prefix = "com.forezp")
public class User {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

在最新版本的springboot,需要加这三个注解。@Configuration 
@PropertySource(value = “classpath:test.properties”) 
@ConfigurationProperties(prefix = “com.forezp”);在1.4版本需要 
PropertySource加上location。

@RestController
@EnableConfigurationProperties({ConfigBean.class,User.class})
public class LucyController {
    @Autowired
    ConfigBean configBean;

    @RequestMapping(value = "/lucy")
    public String miya(){
        return configBean.getGreeting()+" >>>>"+configBean.getName()+" >>>>"+ configBean.getUuid()+" >>>>"+configBean.getMax();
    }

    @Autowired
    User user;
    @RequestMapping(value = "/user")
    public String user(){
        return user.getName()+user.getAge();
    }

}

启动工程,打开localhost:8080/user;浏览器会显示:

forezp12

四、多个环境配置文件

在现实的开发环境中,我们需要不同的配置环境;格式为application-{profile}.properties,其中{profile}对应你的环境标识,比如:

  • application-test.properties:测试环境
  • application-dev.properties:开发环境
  • application-prod.properties:生产环境

怎么使用?只需要我们在application.yml中加:

spring:
  profiles:
    active: dev

其中application-dev.yml:

 server:
  port: 8082

启动工程,发现程序的端口不再是8080,而是8082。

源码来源

基于Spring Boot和Spring Cloud实现微服务架构学习(四)-Spring Cloud总结

基于Spring Boot和Spring Cloud框架开发的微服务架构学习(四)-Spring Cloud总结 Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),之...
  • zeb_perfect
  • zeb_perfect
  • 2016年07月24日 00:48
  • 77799

springboot微服务搭建(一):整合mybatis配置(第一种方式)

研究一下在写。
  • sinat_32519815
  • sinat_32519815
  • 2017年11月10日 15:54
  • 34

【备忘】2017年最新 项目实战 Spring Boot视频教程 微服务整合Mybatis

【课程内容】 视频、资料、代码、课件齐全 Spring的发展 Spring的Java配置方式 实战-读取外部的配置文件 SpringBoot简介 第一个SpringBoot应用...
  • qq_38473680
  • qq_38473680
  • 2017年07月21日 10:55
  • 1663

SpringBoot之Mybatis篇(注解&配置文件)(MVC版)

整体的项目结构,遵循MVC架构。红框内的是此次需要用到的文件。 src/main/java/com/zhu/DemoApplication.java package com.zhu;import ...
  • zt_fucker
  • zt_fucker
  • 2017年03月03日 15:02
  • 2398

世上最全SpringBoot视频教程

蚂蚁课堂 第一期 课堂实录“世上最全SpringBoot微服务视频教程 ”是整套的哦! 已经全部公开! 欢迎其他平台转载!    第一节(SpringBoot介绍)  第二节(创建...
  • yushengjun_644
  • yushengjun_644
  • 2017年09月24日 17:33
  • 36618

基于SpringBoot的微服务架构实践

引言 微服务是近期火爆IT业界的新概念,在某种意义上这算是一个全新架构,微服务继承了面向服务架构(SOA)的整体思路,强调将巨石型应用或服务拆分为由微小的服务应用。按照通常理解和定义,微服务是指...
  • u013189665
  • u013189665
  • 2017年03月20日 19:03
  • 4598

spring boot mybatis 读取配置文件

spring boot mybatis 配置整理 两种加载mybatis的配置的方式
  • u012359995
  • u012359995
  • 2016年11月05日 12:15
  • 11546

springboot与mybatis的完美融合

springboot大家都知道了,搭建一个spring框架只需要秒秒钟。下面给大家介绍一下springboot与mybatis的完美融合:        首先:创建一个名为springboot-...
  • qq_15037231
  • qq_15037231
  • 2017年09月27日 17:55
  • 239

Java中的面试题 [4] --- Java进阶高级知识、微服务、SpringBoot、springcloud、系统架构、集群等

Java中的面试题 [4] --- Java进阶高级知识、微服务、SpringBoot、springcloud、系统架构、集群等 1、设计一下项目的框架结构,至少列出两种,并说明你这样设计的优势在哪里...
  • chenchunlin526
  • chenchunlin526
  • 2017年05月15日 10:30
  • 4861

Springboot 之 自定义配置文件及读取配置文件

本文章来自【知识林】读取核心配置文件核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,...
  • zsl129
  • zsl129
  • 2016年10月21日 10:38
  • 26880
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:企业分布式微服务云SpringCloud SpringBoot mybatis (十九)Spring Boot 自定义配置文件
举报原因:
原因补充:

(最多只允许输入30个字)