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

标签: springcloud springboot springmvc mybatis java
78人阅读 评论(0) 收藏 举报

上面介绍的是我们都把配置文件写到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 Cloud 基于 Spring Boot 开发一整套

Spring Cloud 为分布式系统的基于Spring Boot 开发提供了一套工具集, 功能模块: 分布式版本化配置服务注册与发现路由服务间调用负载均衡断路器全局锁群集状态管理分布式消...
  • ejinxian
  • ejinxian
  • 2017-06-23 10:20:18
  • 643

spring cloud + spring boot + springmvc+mybatis分布式微服务云架构

spring cloud + spring boot + springmvc+mybatis做一个微服务架构需要的技术整理..
  • qq_40354025
  • qq_40354025
  • 2017-10-19 08:58:42
  • 1124

SpringBoot 使用yml配置 mybatis+pagehelper+druid+freemarker实例

SpringBoot 使用yml配置 mybatis+pagehelper+druid+freemarker实例 这是一个简单的SpringBoot整合实例这里是项目的结构目录首先是pom.xml...
  • cmmchenmm
  • cmmchenmm
  • 2017-07-13 09:24:34
  • 8276

SpringBoot学习笔记(4) Spring Boot 集成 Mybatis

Mybatis 官方提供了 mybatis-spring-boot-starter https://github.com/mybatis/spring-boot-starter http://www...
  • a67474506
  • a67474506
  • 2016-07-24 14:14:51
  • 47659

SpringBoot + MyBatis + MySQL + Maven在Intellij IDEA下开发环境的搭建

最近项目中要用SpringBoot + MyBatis + MySQL + Maven的开发环境。经过一晚上折腾,终于搭建了开发环境。以下为环境搭建过程。1.新建一个Spring工程 填写项目信息。...
  • Colton_Null
  • Colton_Null
  • 2017-07-08 23:28:59
  • 6819

Spring Boot + MyBatis + MySQL 整合(1)

最近在复习之前学的Spring Boot ,在这里结合我之前整合Spring Boot + MyBatis + MySQL 这三者的经验来总结一下,希望对小伙伴们有用。我使用的是采用全注解的方式来实现...
  • qq_15452971
  • qq_15452971
  • 2018-03-02 18:06:42
  • 73

Spring Boot 集成MyBatis

Spring Boot 集成MyBatis在配置MyBatis前,我们先配置一个druid数据源。Spring Boot 集成druiddruid有很多个配置选项,使用Spring Boot 的Con...
  • isea533
  • isea533
  • 2015-12-27 15:29:01
  • 305294

springboot系列 | 与mybatis整合

springboot与mybatis整合及其简单,与传统SSM框架整合少了很多烦人的配置,springboot与mybatis整合只需导入mybatis包,这样springboot就会帮我们自动配置及...
  • u011320740
  • u011320740
  • 2018-02-05 10:10:35
  • 7020

Spring boot Mybatis

最近刚接触Spring boot,正是因为他的及简配置方便开发,促使我下定决心要用它把之前写的项目重构,那么问题来了,spring boot怎么整合mybatis呢,下面几个配置类来搞定。 1、文件结...
  • xiaoyu411502
  • xiaoyu411502
  • 2015-09-01 22:01:44
  • 111616

spring cloud-学习之路(一):搭建一个简单的Springboot项目

文件目录(注意:Springboot启动类App.class必须放在最外层) pom.xml
  • crazy__qu
  • crazy__qu
  • 2017-11-29 16:10:09
  • 308
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 1028
    排名: 4万+
    文章分类
    文章存档
    最新评论