SpringBoot入门十 ,获取配置文件信息

SpringBoot获取配置文件的信息有很多,这里介绍比较常用的三种方式
 默认获取的都是application.properties文件中的信息

1.application.properties配置文件内容如下:
server.port=80
spring.mvc.view.prefix=/jsp/
spring.mvc.view.suffix=.jsp

#中文需要转换成为ASCII码,否则取值的时候是乱码
#张三
demo.userName=\u5F20\u4E09
demo.userAge=19
2.自定义文件config.properties配置文件内容如下:
#中文需要转换成为ASCII码,否则取值的时候是乱码
#张三
demo.user.userName=\u5f20\u4e09
#女
demo.user.userSex=\u5973

一.使用@Value注解读取properties文件信息

代码如下:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * <h5>描述:使用@Value注解读取application.properties配置文件信息</h5>
 *  默认放在resources目录下
 */
@Component
public class TestService {
    @Value("${server.port}")
    public String port;
    @Value("${spring.mvc.view.prefix}")
    public String prefix;
    @Value("${spring.mvc.view.suffix}")
    public String suffix;
    @Value("${demo.userName}")
    public String userName;
}
使用方式,直接调用即可
    @Autowired
    TestService testService;

    @RequestMapping("readProperties")
    public String readProperties(){
        System.out.println("使用@Value注解读取properties文件信息");
        System.out.println("port=["+testService.port+"]");
        System.out.println("port=["+testService.prefix+"]");
        System.out.println("port=["+testService.suffix+"]");

        return "port=["+testService.port+"]<br/>" +
                "prefix=["+testService.prefix+"]<br/>" +
                "suffix=["+testService.suffix+"]<br/>" +
                "userName=["+testService.userName+"]";
    }

二.使用Environment读取properties文件信息

代码如下:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

/**
 * <h5>描述:使用Environment获取application.properties配置文件信息</h5>
 *  默认放在resources目录下
 */
@Component
public class TestTwoService {
    @Autowired
    Environment environment;

    /**
     * <h5>功能:使用Environment获取application.properties配置文件信息</h5>
     *
     * @return
     */
    public String getProperties(){
        String userName = environment.getProperty("demo.userName");
        String userAge = environment.getProperty("demo.userAge");

        return "userName=[" + userName + "],userAge=[" + userAge + "]";
    }
使用方式,直接使用即可

三.使用@ConfigurationProperties注解读取properties文件信息

代码如下:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

/**
 * <h5>描述:使用@ConfigurationProperties注解获取指定配置文件信息</h5>
 *  文件的根目录在resources目录下
 * @author zhangpj  2018年12月10日
 */
@Component
@ConfigurationProperties(prefix = "demo.user")      // 用于绑定属性,其中prefix表示所绑定的属性的前缀。
//@PropertySource(value = "config.txt") // 表示配置文件路径,只要内容格式一样,一样可以获取到信息
@PropertySource(value = "config.properties")    // 表示配置文件路径。
public class TestThreeService {
    private String userName;
    private String userSex;

    public String getUserName() {
        return userName;
    }
    public String getUserSex() {
        return userSex;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public void setUserSex(String userSex) {
        this.userSex = userSex;
    }
}
使用方式,直接调用对应的get方法即可

高级用法,请点击这里四种读取properties文件的方式

原文地址:http://blog.51cto.com/1197822/2328478

时间: 2024-08-28 12:39:58

SpringBoot入门十 ,获取配置文件信息的相关文章

SpringBoot项目中,获取配置文件信息

1.在配置文件中设置信息,格式如下 wechat: mpAppId: wxdf2b09f280e6e6e2 mpAppSecret: f924b2e9f140ac98f9cb5317a8951c71 如果是多级目录,则 project: url: sell: http://localhost:8080 2.获取配置文件信息(三种方法) [email protected] package com.xiong.sell.config; import lombok.Data; import org.s

springboot 入门二- 读取配置信息一

在上篇入门中简单介绍下springboot启动使用了大量的默认配置,在实际开发过程中,经常需要启动多个服务,那端口如何手动修改呢? 此篇就是简单介绍相关的配置文件信息. Spring Boot允许外部化你的配置,这样你就可以在不同的环境中使用相同的应用程序代码.你可以使用属性文件.YAML文件.环境变量和命令行参数来外部化配置.属性的值获取可以通过注解@Value . spring Environment或注解@ConfigurationProperties 这些方式优先级如下: @TestPr

SpringBoot入门十九,简单文件上传

项目基本配置参考SpringBoot入门一,使用myEclipse新建一个SpringBoot项目,使用myEclipse新建一个SpringBoot项目即可.现在来给项目添加一个MyBatis支持,添加方式非常简单,仅需两步即可,具体内容如下: 1. pom.xml添加以下配置信息 <!-- 文件上传配置开始 --> <!-- 9.引入commons-io依赖 --> <dependency> <groupId>commons-io</groupId

使用Spring注解获取配置文件信息

需要加载的配置文件内容(resource.properties): #FTP相关配置 #FTP的IP地址 FTP_ADDRESS=192.168.1.121 FTP_PORT=21 FTP_USERNAME=ftpuser FTP_PASSWORD=root FTP_BASE_PATH=/home/ftpuser/taotao/images #图片服务器的相关配置 #图片服务器的基础URL IMAGE_BASE_URL=http://192.168.1.121/images 实现在applica

SpringBoot入门十八,自定义注解的简单实现

项目基本配置参考文章SpringBoot入门一,使用myEclipse新建一个SpringBoot项目,使用myEclipse新建一个SpringBoot项目即可,此示例springboot升级为2.2.1版本. 1. pom.xml添加aop支持 <!-- 引入aop切面支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-

mybatis整合spring获取配置文件信息出错

描述:mybatis整合spring加载jdbc.properties文件,然后使用里面配置的值来 配置数据源,后来发现用户变成了admin- jdbc.properties的配置: 加载配置: 报错信息: Cannot create PoolableConnectionFactory (Access denied for user 'Administrator'@'localhost' (using password: NO)) 报错信息里面显示说数据库的用户 'Administrator'@

springboot入门_获取属性文件中的值

在上一篇文章中,记录了用springboot实现输出一个hello world到前台的程序,本文记录学习springboot读取属性文件中配置信息. 框架属性文件(application.properties) 创建一个springboot项目,并引入相关依赖,POM文件如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.or

springboot配置之获取配置文件中属性的第二种方法(@Value)不同于@ConfigurationProperties

直接看:Person.java package com.gong.springboot.bean; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.util

SpringBoot入门 (十二) 定时任务

本文记录在SpringBoot中使用定时任务. 在我们的项目中,经常需要用到定时任务去帮我们做一些事情,比如服务状态监控,业务数据状态的更改等,SpringBoot中实现定时任务有2中方案,一种是自带的,我们只需要加上注解即可:另一种是集成Quartz来实现定时任务. 一 SpringBoot 提供的定时任务 在SpringBoot的starter包中已经提供了对定时任务的支持,我们很容易实现定时任务.修改pom.xml文件,加入如下内容,引入依赖: <dependency> <grou