继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

holdtom
关注TA
已关注
手记 1842
粉丝 240
获赞 991


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文件的方式

©著作权归作者所有:来自51CTO博客作者pannijingling的原创作品,如需转载,请注明出处,否则将追究法律责任


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP