添加配置文件


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

配置文件有两种形式

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

  • .yml 有点类似树形结构

首先我们先来讲讲* .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了。

这样的话,又有个问题了,那假如我把项目打成一个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}")

2>将配置赋于给一个javabean

在需要的地方引用javabean

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

网页测试


  • 新建控制层

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

  • 测试

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

总结


SpringBoot提供的配置文件,极大的提高了程序员的开发效率,不用因为添加一个属性,浪费大量配置的时间,而且很多框架也跟SpringBoot进行了集成,这些框架的配置也可以集成到SpringBoot的配置文件中,更加的方便了。

转载于:https://juejin.im/post/5cd44203f265da036f4e9ad0

二、SpringBoot配置文件讲解相关推荐

  1. boot入门思想 spring_(二 )SpringBoot起飞之路-入门原理分析

    随便给最近想逐步整理的文章起了个皮皮虾名:SpringBoot起飞之路 这是第二篇,关于前一篇入门涉及到的一些基本原理讲解,有兴趣的朋友可以去了解一下前一篇 SpringBoot起飞之路-HelloW ...

  2. SpringBoot配置文件YAML配置注入(详解)

    目录 一.SpringBoot配置文件 1. SpringBoot默认配置文件 2. 配置文件的作用 3. 配置文件的位置 4. 多环境切换 方式一:多配置文件 方式二:一个配置文件(yaml的多文档 ...

  3. SpringBoot非官方教程 | 第二篇:SpringBoot配置文件详解

    springboot采纳了建立生产就绪Spring应用程序的观点. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.在一般情况下,我们不需要做太多的配置就能够让spring boot正 ...

  4. redismanager 获取不到yml中的密码_SpringBoot敏感信息加密,springboot配置文件密码加密jasypt...

    使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application.properties或application.yml,比如mysq ...

  5. apache 配置文件内使用 8080 端口_【SpringBoot 框架】- SpringBoot 配置文件

    一.SpringBoot配置文件类型 SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话 ,就可以自己编写配置文件进行相应配置,起步依赖spring-bo ...

  6. SpringBoot 配置文件bootstrap和application的区别

    目录 一.SpringBoot配置文件 二.bootstrap和application区别 三.bootstrap和application的应用场景 一.SpringBoot配置文件 bootstra ...

  7. SpringBoot配置文件敏感信息加密,springboot配置文件数据库密码加密jasypt

    使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application.properties或application.yml,比如mysq ...

  8. SpringBoot 配置文件加密的两种方式

    SpringBoot配置文件加密的两种方式 jasypt使用方式 用法一: 1.Application.java上增加注解@EnableEncryptableProperties(jasypt-spr ...

  9. SpringBoot配置文件yml敏感信息加密

    java项目使用SpringBoot很方便,但SpringBoot的配置文件朋友们都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application.properties或a ...

最新文章

  1. linux下各种颜色的文件表示的文件类型
  2. ie下面出现Notice: Undefined index: HTTP_REFERER 的解决办法
  3. 音视频编解码的国际标准
  4. SAP ABAP如何隐藏你写的程序代码
  5. pythongif字符动图,利用Python如何制作好玩的GIF动图详解
  6. C# MVC使用阿里云对象存储加快图片加载速度(一)
  7. C++ set insert的返回值
  8. 如何实现一次编码,到处运行?新一代云端一体化探索
  9. android 释放bitmap fragment,,为什么重复Replace Fragment会内存泄漏
  10. 【渝粤教育】国家开放大学2018年春季 0630-22T环境法学 参考试题
  11. Expressbody-parser
  12. mysql 的相关操作_MySQL(记录相关操作)
  13. js加载flv格式视频
  14. 锐捷服务器虚拟化技术_网络设备-锐捷-交换机(S8607E)VSU虚拟化终结配置篇
  15. 【数学建模】数学建模论文写作
  16. 4种方法教你如何查看java对象所占内存大小
  17. iOS 仿微信发送语音消息按钮 - 语音播放器(三)
  18. xshell调用js脚本开发
  19. 用matlab结合STM32作上位机,基于stm32智能小车视觉控制导航的设计参考.pdf
  20. 好用的数据恢复软件EasyRecovery2023最新版

热门文章

  1. pyspark的ALS协同过滤推荐算法-小结1
  2. sunplus 8202v iop源代码阅读笔记——2
  3. 物联网核心安全系列——智能门锁安全问题
  4. 中国创客面临无限挑战
  5. VB快速读取 TextBox 第 N 行的资料
  6. shell 中的参数替换
  7. Linux常用命令(持续更新)
  8. 天天打无人车是怎样一种体验?
  9. 独家 | 林元庆告别百度
  10. Java基础13:反射与注解详解