二、SpringBoot配置文件讲解

栏目: Java · 发布时间: 5年前

内容简介:java程序员使用Spring的时间都有几年了,但是使用Spring和其他框架的结合的时候的配置文件是比较复杂的。比如你如果要添加mybatis的时候,你可能会添加一个spring-mybatis.xml的配置。但当SpringBoot出现的时候,这些都不用了,它简化了很多配置,让搭建项目变得很简单。这一节就讲讲springboot的配置文件是怎么弄的。 构建一个maven项目,还有java目录和resource目录。resource目录就是用来存放配置文件的。配置文件有两种形式首先我们先来讲讲* .pro

java程序员使用Spring的时间都有几年了,但是使用Spring和其他框架的结合的时候的配置文件是比较复杂的。比如你如果要添加mybatis的时候,你可能会添加一个spring-mybatis.xml的配置。但当SpringBoot出现的时候,这些都不用了,它简化了很多配置,让搭建项目变得很简单。这一节就讲讲springboot的配置文件是怎么弄的。 构建一个maven项目,还有 java 目录和resource目录。resource目录就是用来存放配置文件的。

配置文件有两种形式

  • .properties properties结尾的配置文件跟我们传统的配置文件一样

    二、SpringBoot配置文件讲解
  • .yml 有点类似树形结构

    二、SpringBoot配置文件讲解

首先我们先来讲讲* .properties 我们用idea创建springboot项目的时候,会给我们创建好一个application.properties文件,但是这个配置文件是空的。 那application.properties在项目中一般存放什么属性嘞?使用springboot创建的项目,一般是分环境的,比如我们除了创建application.properties 还会创建下面3个文件 application-dev.properties application-test.properties application-prod.properties 这三个文件的作用是什么嘞?下表说明

application.properties 这个配置文件是通用的,不管任何环境都会引用里面的配置
application-dev.properties dev这个配置是开发环境的配置
application-test.properties test这个是测试环境的配置
application-prod.properties prod这个是正式环境的配置

看到这个表就可以知道,他们的作用是干嘛的。 那么问题又来了 1>那我怎么知道我在开发环境用dev,在测试环境用test,在线上环境用prod? 2>那这些环境里面到底有什么区别嘞? 先解释第一个问题: application.properties配置文件是什么环境都会用到的配置文件,可以在里面设置spring.profiles.active=dev的属性,在启动springboot项目的时候,就会读取application-dev.properties的属性了,假如你想读取test环境的配置嘞,那就把dev改成test就ok了。

二、SpringBoot配置文件讲解

这样的话,又有个问题了,那假如我把项目打成一个jar包,我需要同时部署到 linux 服务器上,我怎么设置为test嘞,这也是很简单的。 springboot项目构建的jar包是可以用 java -jar XXX.jar 启动的。而且他还支持在后面添加参数 java -jar XXX.jar --spring.profiles.active=test 这样就解决问题了。可以把这些参数配置在sheell文件中,这样就更加方便了

在解释第二个问题: 举个列子在dev环境中我的服务器ip是192.168.0.5,在test 我的服务器ip是192.168.0.100 在prod我的服务器ip可能是www.xxx.com 或者配置数据库的访问地址,肯定是每个环境都不一样。这就是分环境的好处。

那我们怎么在程序中访问这些属性呢? springboot提供两种方式访问 1>直接在属性上面加上@Value("${server.ip}")

二、SpringBoot配置文件讲解

2>将配置赋于给一个javabean

二、SpringBoot配置文件讲解

在需要的地方引用javabean

二、SpringBoot配置文件讲解

通过上面的两种方式我们就能很方便的添加和获取系统的配置

网页测试

  • 新建控制层
    二、SpringBoot配置文件讲解
    二、SpringBoot配置文件讲解

上图控制层用的注解不是@controller而是@Restcontroller,这两个有什么区别呢? @Restcontroller包含了@controller注解和@ResponseBody注解,以前我们如果要返回一个json数据,需要在控制层的方法上加上@ResponseBody,现在用@Restcontroller就可以搞定。

  • 测试

    二、SpringBoot配置文件讲解

    *.properties 和 * .yml 哪个更好用呐? 推荐使用yml progperties配置文件比较直观,一行代表一个属性,简单明了,但属性很多的时候就有点乱。 yml配置文件,层级分明,比较像java类的表达方式,即使属性很多,也可以放在某一父类属性下面。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

群体性孤独

群体性孤独

[美] 雪莉·特克尔 / 周逵、刘菁荆 / 浙江人民出版社 / 2014-3-1 / CNY 66.90

[内容简介] ☆ 你是否也熟悉这样的场景:家人在一起,不是交心,而是各自看电脑和手机;朋友聚会,不是叙旧,而是拼命刷新微博、微信;课堂上,老师在讲,学生在网上聊天;会议中,别人在报告,听众在收发信息。所有这些现象都可以归结为“群体性孤独”——我们似乎在一起,但实际上活在自己的“气泡”中。我们期待他人少,期待技术多。不间断的联系,是否让人类陷入了更深的孤独? ☆ 麻省理工学院社会学教授雪......一起来看看 《群体性孤独》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具