springboot读取json文件_SpringBoot:配置文件属性读取

fa2b5387987f40db1e104a99bf275b79.png

SpringBoot中默认加载的是application.properties或者application.yaml文件,当然也支持自定义的属性文件。我们可以在此文件中写一些自己想要的配置信息,然后在用的地方读取。

默认属性文件

在application.properties文件中添加配置信息,如下:

my.name=蜗牛my.age=30

使用@Value 读取

@RestControllerpublic class PropertiesReadController {  //${}中的key一定要对应正确    @Value("${my.name}")    private String name;    @Value("${my.age}")    private Integer age;    @RequestMapping(value = "/hello", method= RequestMethod.GET)    public String hello(){        return "hello, name:" + name+"  age:"+age;    }}

启动服务,访问localhost:8080/hello 可以看到返回信息

4594c71cde33030b36355a488181020b.png

对于属性值比较少的情况,我们使用@Value注解来获取也还是比较方便的,但是当配置的属性值比较多时,代码中到处写读取值的,显得不是很优雅。

使用@ConfigurationProperties 读取

修改application.properties文件,添加如下配置信息

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=localhost:3306/testjdbc.username=rootjdbc.password=123456

创建一个接收配置信息的对象

@Component//指定要读取的信息的前缀@ConfigurationProperties(prefix = "jdbc")public class JdbcProperties {    private String driver;    private String url;    private String username;    private String password;    // 省略get 和 set方法}

通过@ConfigurationProperties 注解和 prefix属性我们指定了当前类要读取的配置信息,通过@Component 注解将当前对象交给spring管理,在我们需要的地方就可以注入使用;

@RestControllerpublic class PropertiesReadController {    @Autowired    private JdbcProperties jdbcProperties;    @RequestMapping(value = "/jdbc", method= RequestMethod.GET)    public String helloJdbc(){    //打印输出读取的信息           System.out.println("driver:"+jdbcProperties.getDriver());        System.out.println("url:"+jdbcProperties.getUrl());        System.out.println("username:"+jdbcProperties.getUsername());        System.out.println("password:"+jdbcProperties.getPassword());        return "hello jdbc";    }}

请求当前方法,可以看到控制台打印的信息

d5ee164c34178827c06719ce42b2ea58.png

自定义属性文件

前边也说到了,默认读取的是application.properties或者application.yaml文件中的内容,我们也可以指定读取自己定义的配置文件中的内容。

在resources目录下创建jdbc.properties文件,并写入内容,如下:

my.jdbc.driver=com.mysql.jdbc.Drivermy.jdbc.url=localhost:3306/testmy.jdbc.username=rootmy.jdbc.password=123456

修改上边的JdbcProperties类

@Component//指定要读取的信息的前缀@ConfigurationProperties(prefix = "my.jdbc")@PropertySource(value="classpath:jdbc.properties")public class JdbcProperties {    private String driver;    private String url;    private String username;    private String password;    // 省略 get 和 set 方法}

通过@PropertySource 注解的value 来指定当前要读取的属性所在的配置文件,访问后同样可以得到配置信息。

点击关注,后期更多精彩内容呈上!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值