SpringBoot 如何编写配置文件

 更新时间:2020年11月25日 09:57:03   作者:憧憬  
这篇文章主要介绍了SpringBoot 编写配置文件的两种方法,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下

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

那么我们在使用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 编写配置文件的资料请关注脚本之家其它相关文章!

相关文章

  • java8传函数方法图文详解

    java8传函数方法图文详解

    在本篇文章中小编给大家整理了关于java8传函数方法和相关知识点,需要的朋友们学习下。
    2019-04-04
  • Java使用NioSocket手动实现HTTP服务器

    Java使用NioSocket手动实现HTTP服务器

    本篇文章主要介绍了Java使用NioSocket手动实现HTTP服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-05-05
  • Spring Security如何为用户示例添加角色详解

    Spring Security如何为用户示例添加角色详解

    目前我正在用Java开发一个基于Spring Boot的web应用程序,下面这篇文章主要给大家介绍了关于Spring Security如何为用户示例添加角色的相关资料,需要的朋友可以参考下
    2022-10-10
  • springboot2.1.7去除json返回字段中为null的字段

    springboot2.1.7去除json返回字段中为null的字段

    这篇文章主要介绍了springboot2.1.7去除json返回字段中为null的字段,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 如何利用grep-console插件使Intellij idea显示多颜色调试日志

    如何利用grep-console插件使Intellij idea显示多颜色调试日志

    这篇文章主要介绍了利用grep-console插件使Intellij idea显示多颜色调试日志,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • shrio中hashedCredentialsMatcher密码匹配示例详解

    shrio中hashedCredentialsMatcher密码匹配示例详解

    shrio是一个轻量级权限管理框架,密码的匹配由框架内部完成。密码是否匹配由接口CredentialsMatcher定义实现类完成,CredentialsMatcher实现类有SimpleCredentialsMatcher和HashedCredentialsMatcher两个
    2021-10-10
  • maven坐标Dependencies和Exclusions的使用

    maven坐标Dependencies和Exclusions的使用

    这篇文章主要介绍了maven坐标Dependencies和Exclusions的使用,很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 基于SpringBoot + Android实现登录功能

    基于SpringBoot + Android实现登录功能

    在移动互联网的今天,许多应用需要通过移动端实现与服务器的交互功能,其中登录是最常见且基础的一种功能,本篇博客将详细介绍如何使用 Spring Boot 和 Android 实现一个完整的登录功能,需要的朋友可以参考下
    2024-11-11
  • Spring中实现定时调度的几种方法

    Spring中实现定时调度的几种方法

    本篇文章主要介绍了Spring中实现定时调度示例,可以在无人值守的时候系统可以在某一时刻执行某些特定的功能,有兴趣的可以了解一下。
    2017-02-02
  • ThreadLocal内存泄漏常见要点解析

    ThreadLocal内存泄漏常见要点解析

    这篇文章主要介绍了ThreadLocal内存泄漏常见要点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论