SpringBoot 如何编写配置文件

作者:憧憬 时间:2023-07-14 10:38:24 

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

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

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

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

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

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

创建配置文件

SpringBoot 如何编写配置文件

使用配置项

SpringBoot 如何编写配置文件

注解说明


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

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

效果

SpringBoot 如何编写配置文件

编写配置文件, 从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

获取配置 效果

SpringBoot 如何编写配置文件

需要注意点

1、配置文件注入失败,出现Could not resolve placeholder
   解决:根据springboot启动流程,会有自动扫描包没有扫描到相关注解,
   默认Spring框架实现会从声明@ComponentScan所在的类的package进行扫描,来自动注入,因此启动类最好放在根路径下面,或者指定扫描包范围,spring-boot扫描启动类对应的目录和子目录

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

来源:https://aoppp.com/springboot-pei-zhi-wen-jian-bian-xie-ji/

标签:SpringBoot,配置文件
0
投稿

猜你喜欢

  • Android.bp语法和使用方法讲解

    2022-09-29 19:31:19
  • Java递归来实现汉诺塔游戏,注释详细

    2023-07-05 10:33:52
  • 如何使用Android注解处理器

    2023-08-16 16:49:05
  • Android Studio利用AChartEngine制作饼图的方法

    2021-12-28 10:53:30
  • java开发工作中对InheritableThreadLocal使用思考

    2023-11-24 21:46:44
  • Java源码解析LinkedList

    2023-04-28 02:56:18
  • SpringBoot面试突击之过滤器和拦截器区别详解

    2022-10-13 02:02:05
  • 实例讲解Java读取一般文本文件和word文档的方法

    2023-11-13 05:09:53
  • Android编程之重力感应用法分析

    2021-09-04 19:49:35
  • Android实现音量调节的方法

    2023-01-01 20:23:45
  • 深入讲解spring boot中servlet的启动过程与原理

    2022-08-19 00:18:40
  • 零基础写Java知乎爬虫之先拿百度首页练练手

    2022-11-14 09:07:05
  • 详解MyBatis多数据源配置(读写分离)

    2023-11-21 20:35:44
  • Android编程判断网络是否可用及调用系统设置项的方法

    2023-08-14 13:05:22
  • Android中实现淘宝购物车RecyclerView或LIstView的嵌套选择的逻辑

    2023-03-07 08:08:24
  • Android安装应用 INSTALL_FAILED_DEXOPT 问题及解决办法

    2023-06-01 08:57:00
  • springboot ErrorPageFilter的实际应用详解

    2023-11-24 01:02:59
  • 简单了解Java中的可重入锁

    2023-12-18 12:29:19
  • java微信公众号支付示例详解

    2023-11-15 05:52:01
  • WPF实现动画效果

    2023-06-26 17:49:44
  • asp之家 软件编程 m.aspxhome.com