我们经常在项目开放中需要进行很多配置, 那么这些配置基本上都是动态的, 如果我直接写在代码中, 修改起来很麻烦, 如果该配置在多处进行引用啦, 你估计会杀了写代码的人。

那么我们在使用SpringBoot的时候, 也是需要进行配置文件编写的。在spirngBoot里面, 可以有两种方式声明配置

1、直接编写配置文件 然后从配置文件里面获取

2、编写配置文件 然后编写bean, 通过注解注入到bean里面 获取的时候从bean里面获取

配置文件编写可以有多种, 例如我们常见的有: xml、properties、json、yaml.....

我们这里就使用常见的properties文件来写

编写配置文件,从配置文件里面获取

创建配置文件

使用配置项

注解说明

@PropertySource({"classpath:config/web.properties"}) //指定配置文件

@Value("${site.name}") // 获取配置项 value

效果

编写配置文件, 从bean里面获取

编写bean, WebSetting.java

package com.example.demo.domain;

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

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

import org.springframework.context.annotation.PropertySource;

import org.springframework.stereotype.Component;

@Component

@PropertySource(value = "classpath:config/web.properties", encoding = "utf-8")

@ConfigurationProperties(prefix = "site") // 这个可以指定前缀 只要成员属性能对上就行 也可以不指定 使用@Value来获取

public class WebSetting {

@Value("${site.name}")

private String siteName;

@Value("${site.desc}")

private String siteDesc;

@Value("${site.domain}")

private String siteDomain;

// 对上了可以不用@Value

private String test;

public String getTest() {

return test;

}

public void setTest(String test) {

this.test = test;

}

public String getSiteName() {

return siteName;

}

public void setSiteName(String siteName) {

this.siteName = siteName;

}

public String getSiteDesc() {

return siteDesc;

}

public void setSiteDesc(String siteDesc) {

this.siteDesc = siteDesc;

}

public String getSiteDomain() {

return siteDomain;

}

public void setSiteDomain(String siteDomain) {

this.siteDomain = siteDomain;

}

}

config/web.properties

site.name=憧憬

site.domain=aoppp.com

site.desc=这是一个技术分享的博客!

site.test=test

获取配置 效果

需要注意点

1、配置文件注入失败,出现Could not resolve placeholder

解决:根据springboot启动流程,会有自动扫描包没有扫描到相关注解,

默认Spring框架实现会从声明@ComponentScan所在的类的package进行扫描,来自动注入,因此启动类最好放在根路径下面,或者指定扫描包范围,spring-boot扫描启动类对应的目录和子目录

2、注入bean的方式,属性名称和配置文件里面的key一一对应,就用加@Value 这个注解,如果不一样,就要加@value("${XXX}")

以上就是SpringBoot 如何编写配置文件的详细内容,更多关于SpringBoot 编写配置文件的资料请关注脚本之家其它相关文章!

如何编写配置文件 JAVA_SpringBoot 如何编写配置文件相关推荐

  1. java mapper control_java spring boot中怎么编写mapper?怎么编写service和controller?

    上次已经为大家介绍过java spring boot中怎么加入依赖的主要内容了.今天再为大家介绍一些与之相关的内容,也就是java spring boot中怎么 编写mapper以及怎么编写servi ...

  2. java下mysql连接配置文件_Java读取.properties配置文件并连接数据库

    1.读取配置文件 //Properties集合 流对象读取键值对 public static void getNum() throws Exception { Properties p=new Pro ...

  3. java bean配置文件_Spring中多配置文件及引用其他bean的方式

    Spring多配置文件有什么好处? 按照目的.功能去拆分配置文件,可以提高配置文件的可读性与维护性,如将配置事务管理.数据源等少改动的配置与配置bean单独分开. Spring读取配置文件的几种方式: ...

  4. @PropertySource读取外部配置文件中的k-v保存到运行的环境变量中,加载完微博的配置文件以后使用${}取配置文件中的键值

    @PropertySource读取外部配置文件中的k-v保存到运行的环境变量中,加载完微博的配置文件以后使用${}取配置文件中的键值 该注解value={},可以使用String数组形式,读取多个配置 ...

  5. spring配置文件_SpringBoot入门建站全系列(二十三)配置文件优先级及自定义配置文件...

    SpringBoot入门建站全系列(二十三)配置文件优先级及自定义配置文件 一.概述 Spring Boot允许多种配置来源,官网是这样说的: Spring Boot使用一种非常特殊的Property ...

  6. 编写脚本电脑怎么编写界面_在任何无法理解的情况下,请编写脚本

    编写脚本电脑怎么编写界面 脚本编写是使您的应用程序在运行时就可根据客户需求进行调整的最流行的方法之一. 与往常一样,此方法不仅带来好处,例如,在灵活性和可管理性之间存在众所周知的折衷方案. 本文不是从 ...

  7. 软件测试测试用例编写_不要先编写所有软件测试-只需编写一个

    软件测试测试用例编写 Test Driven Development (TDD) is sometimes described as "writing tests first". ...

  8. vsc 搜索特定代码_特定问题的通用解决方案:何时编写代码以及何时编写代码...

    vsc 搜索特定代码 by Rina Artstain 通过丽娜·阿斯特斯坦 特定问题的通用解决方案:何时编写代码以及何时编写代码 (Generic solutions to specific pro ...

  9. react 代码编写原则_如何编写易读的React代码— 10种编码风格技巧

    react 代码编写原则 by Nirmalya Ghosh 由Nirmalya Ghosh 如何编写易读的React代码- 10种编码风格技巧 (How to write highly readab ...

最新文章

  1. Symfony笔记之--控制器的快捷方法
  2. 2020上半年收集到的优质AI文章 – 计算机视觉
  3. 浅谈我对DDD领域驱动设计的理解
  4. WinRAR4.11-64Bit最简易的注册方法
  5. Java黑皮书课后题第3章:*3.5(给出将来的日期)编写一个程序,提示用户输入代表今天日期的数字(周日0周一1周二2)同时用户输入一个今天之后的天数代表将来某天的数字,然后显示这天是周几
  6. 服务器启动时Webapp的web.xml中配置的加载顺序
  7. Python kafka操作实例
  8. Bailian4003 十六进制转十进制【入门】
  9. 中国大学MOOC 视频字幕获取及处理方法
  10. 3d max morpher教程
  11. 【linux学习笔记】红帽Linux 7.8系统在虚拟机上的安装
  12. C++模拟鼠标键盘操作(转)
  13. echarts中国及世界经纬度坐标
  14. 从Sbo 2005B维护助手软件说说SBO人的四重境界
  15. Transformer+异常检测论文解读
  16. joda DateTimeFormatter simpleDateFormat
  17. docker中konga的安装
  18. 使用qq 、微信和新浪微博三种方式登录demo
  19. python中fock的使用_Python中fock()函数如何使用
  20. c语言中向量表示方法,求问 向量的表示方法 有哪几种

热门文章

  1. Struts2与Struts1的对比
  2. 百度语音识别rest html,delphi调用百度语音识别REST API(示例代码)
  3. [Python图像处理] 二十八.OpenCV快速实现人脸检测及视频中的人脸
  4. [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium
  5. HarmonyOS之常用布局DirectionalLayout的使用
  6. 指针、数组、函数阶段小结
  7. 【STM32】低功耗相关函数和类型
  8. 【Linux】一步一步学Linux——basename命令(34)
  9. 【Linux网络编程】IP地址介绍
  10. [Qt教程] 第16篇 2D绘图(六)坐标系统