轻轻松松学习SpringBoot2:第六篇:Spring Boot获取properties属性和一个Bean关联

前两篇说了获取properties文件中的值,倘若这些值比较多,而且相关的一类元素能否有个更好的处理办法

答案是有的,Spring Boot如此优秀,对付这点渣渣道还是小菜一碟,采取bean的方式即可解决

一)新建配置文件,此处我们定义一个person.properties的文件,内容如下

person.name=木子
person.age=20
person.english_name=muzi

二)建立java Bean 文件, 此处我们定义一个Person类如下:

package com.example.demo;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource("classpath:person.properties")
@ConfigurationProperties(prefix = "person")
public class Person {
    private String name;

    private String age;

    private String english_name;

    //按住alt+insert生成get和set


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getEnglish_name() {
        return english_name;
    }

    public void setEnglish_name(String english_name) {
        this.english_name = english_name;
    }
}

注意:我这是Spring Boot 2.X版本,所以注解需要用到PropertySource和ConfigurationProperties两个注解

如果是Spring Boot1.5的则用ConfigurationProperties即可,使用prefix获取页面访问地址,locations获取配置文件

其中get,set方法自动生成,可以通过在Bean文件中右击,选择Genetate,有get和set即可,或者使用快捷键 Alt+insert

三)修改我们的主类DemoApplication代码,如下

    @Autowired
    private Person person;
    @RequestMapping(value = "/person",produces = "text/plain;charset=UTF-8")
    String index(){
        return "Hello Spring Boot!,the person's info :the name "+person.getName()+"   ,and the age is " +person.getAge()+"  the englishname is "+person.getEnglish_name();
    }

然后重启服务就能获取到我们想要的结果


ok!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值