Spring Boot 学习之路二 配置文件 application.yml

一、创建配置文件

如图所示,我们在resources文件夹中新建配置文件application.yml

结构图

二、一些基本配置

server:
  port: 8090  //配置端口
  session-timeout: 30
  tomcat.max-threads: 0
  tomcat.uri-encoding: UTF-8  

spring:
  datasource:  //数据库配置
    url : jdbc:mysql://localhost:3306/newbirds
    username : root
    password : mymysql
    driverClassName : com.mysql.jdbc.Driver  

注意:key后面的冒号,后面一定要跟一个空格

三 、自定义的配置

1、在application.yml文件中我们自己定义了age 、name 、manInfo等参数,其中manInfo引用了age、name,引用的格式"${参数名}"

server:
  //端口
  port: 8081 

age: 18
name: jason
manInfo: "age:${age},name:${name}"

怎么使用这些配置呢?我们创建GetManInfo文件(参照上面结构图),
使用配置格式

@Value("${配置文件中的参数名}")
类型 参数名

详细如下

package com.alun;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by Administrator on 2017/5/28.
 */
@RestController
public class GetManInfo {

//获取配置文件中的age
    @Value("${age}")
   private int age;

//获取配置文件中的name
    @Value("${name}")
    private String name;

//获取配置文件中的manInfo
    @Value("${manInfo}")
    private String manInfo;

    @RequestMapping(value = "/getAge",method= RequestMethod.GET)
    public  int getAge(){
     return age;
    }

    @RequestMapping(value = "/getName",method= RequestMethod.GET)
    public  String getNme(){
        return name;
    }

    @RequestMapping(value = "/getManInfo",method= RequestMethod.GET)
    public  String getManInfo(){
        return manInfo;
    }
}

2、一个一个的@Value获取觉得很烦,有办法解决么?这个....当然有啊!

在application.yml我们改成这样

server:
  port: 8081

manInfo:
    age: 18
    name: jason

新建一个ManInfoProperties文件,(结构参照结构图)使用
@Component
@ConfigurationProperties( prefix = "配置文件里的参数名" )

package com.alun;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * Created by Administrator on 2017/5/28.
 */
@Component
@ConfigurationProperties(  prefix = "manInfo" )
public class ManInfoProperties {
    private String age;
    private String name;

    public String getAge() {
        return age;
    }

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

    public String getName() {
        return name;
    }

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

在GetManInfo里 使用 @Autowired

package com.alun;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by Administrator on 2017/5/28.
 */
@RestController
public class GetManInfo {

    @Autowired
    private ManInfoProperties manInfoProperties;

    @RequestMapping(value = "/getManInfo",method= RequestMethod.GET)
    public  String getManInfo(){
        return manInfoProperties.getAge();
    }
}

四、多环境配置

多环境配置

如上图,创建application-dev.yml(测试环境)和application-prod.yml(生产)环境

application-dev.yml

server:
  port: 8080

manInfo:
    age: 18
    name: jason

application-prod.yml

server:
  port: 8081

manInfo:
    age: 18
    name: alun

而原有的application.yml则改成这样:

spring:
  profiles:
    active: prod

spring.profiles.active: 配置文件名(比如这里是 prod或者dev)

作者:渝潼不肖生
链接:https://www.jianshu.com/p/fb6731ee53d2
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

原文地址:https://www.cnblogs.com/fqnb001/p/12365450.html

时间: 2024-08-25 16:00:19

Spring Boot 学习之路二 配置文件 application.yml的相关文章

Spring boot 学习笔记 (二)- 整合MyBatis

Spring boot 学习笔记 (二)- 整合MyBatis Spring Boot中整合MyBatis,并通过注解方式实现映射. 整合MyBatis 以Spring boot 学习笔记 (一)- Hello world 为基础项目,在pom.xml中添加如下依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter&l

spring boot学习系列(二)

spring boot多环境配置以及yml配置文件 1.平时项目中,我们可能需要到配置生产环境,测试环境,以及开发环境 2.那么每次在项目发布的时候,可能都需要改一下配置文件,修改一些路径才可以. 3.接下来讲一下spring boot的多环境配置,以及yml配置文件. 4.基于上一个demo项目.我们打开一下application.properties文件 5.可以看到里面是空的,什么都没有 6.我们修改一下端口号,添加 server.port=8088 然后我们启动访问一下,端口修改成功.

spring boot 学习之路3( 集成mybatis )

下面就简单来说一下spring boot 与mybatiis的整合问题,如果你还没学习spring boot的注解的话,要先去看spring boot的注解 好了,现在让我们来搞一下与mybatis的整合吧,在整合过程中,我会把遇到的问题也说出来,希望可以让大家少走弯路! 首先,是在pom.xml中添加一些依赖 这里用到spring-boot-starter基础和spring-boot-starter-test用来做单元测试验证数据访问 引入连接mysql的必要依赖mysql-connector

我的第一个spring boot程序(spring boot 学习笔记之二)

第一个spring boot程序 写在前面:鉴于spring注解以及springMVC的配置有大量细节和知识点,在学习理解之后,我们将直接进入spring boot的学习,在后续学习中用到注解及其他相关知识点时会再次理解.要运行起第一个Spring boot特别简单,用IDEA包含了Spring Boot的引导,直接新建一个spring boot项目. 注意: 1.第一次新建Spring boot项目的时候,maven会下载大量的依赖到本地,所以特别慢,耐心等待或者用国内的maven公库都行(自

spring boot 学习记录-(二)第一个程序

一.新建maven工程 二.项目构建 1.添加依赖 2.编写启动类 App.java 1 package org.yanjiemao; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.EnableAutoConfiguration; 5 import org.springframework.context.annotation.Compon

spring boot学习总结(二)-- 关于@SpringBootApplication的一些基础知识点

1.@SpringBootApplication 它是一个复合Annotation,实际上对于SpringBoot应用来说,最重要的是只有三个 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited// 最重要的三个 @Configuration @EnableAutoConfiguration @ComponentScanpublic @interface SpringBootAp

Spring Boot学习(三)解析 Spring Boot 项目

本文借鉴:Spring Boot[快速入门](特此感谢!) 一.解析 pom.xml 文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati

Spring Boot学习——Spring Boot配置文件application

Spring Boot配置文件有两种格式: application.properties 和 application.yml.两种配置文件只需要使用一个. 这两种配置文件的语法有些区别,如下 1. application.properties server.port = 8080         -- tomcat 端口 server.context-path = /webName    -- URL路径 2. application.yml server: port: 8080        

Spring Boot学习记录(二)--thymeleaf模板

Spring Boot学习记录(二)–thymeleaf模板 标签(空格分隔): spring-boot 自从来公司后都没用过jsp当界面渲染了,因为前后端分离不是很好,反而模板引擎用的比较多,thymeleaf最大的优势后缀为html,就是只需要浏览器就可以展现页面了,还有就是thymeleaf可以很好的和spring集成.下面开始学习. 1.引入依赖 maven中直接引入 <dependency> <groupId>org.springframework.boot</gr