springboot系列学习笔记—2—自定义属性配置讲解

自定义属性配置加粗样式

  • @value 注解方式进行配置
    我们创建一个用户的实体类,通过 @value 注解 以 ${} 方式拿到用户的 姓名、性别、手机号
    首先我们在pom依赖中添加lombok依赖,通过@Data注解的方式自动创建get/set方法,简化代码。
<!--lombok-->
<dependency>
     <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
 </dependency>

创建用户类

package com.tqs.demo;

import lombok.Data;
import java.io.Serializable;
/**
 * @Auther: HP
 * @Date: 2019/6/15 08:39
 * @Description:
 */
@Data 
public class UserModel implements Serializable {
    /**
     * 姓名
     */
    private String name;
    /**
     * 年龄
     */
    private Integer sex;
    /**
     * 手机号
     */
    private String phone;
}

创建controller 用来进行访问

package com.tqs.demo;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Auther: HP
 * @Date: 2019/6/14 18:45
 * @Description:
 */
@RestController
public class Hello {

    @Value("${tqs.name}")
    private String name;
    @Value("${tqs.sex}")
    private int sex;
    @Value("${tqs.phone}")
    private String phone;

    @RequestMapping("getUser")
    public UserModel user(){
        /*创建一个用户*/
        UserModel userModel = new UserModel();
        userModel.setName(name);
        userModel.setSex(sex);
        userModel.setPhone(phone);
        return userModel;
    }
}

启动项目,浏览器端访问http://localhost:8001/getUser,效果如下:
在这里插入图片描述这样,我们成功的拿到了配置文件的自定义属性值

  • 前缀方式

Spring Boot支持通过前缀自动将属性封装的对象中,非常适合属性比较多的情况,其实在各种启动器中也是通过这种方式获取自定义属性的.
我们修改上面的用户类,添加@ConfigurationProperties注解并通过设置prefix制定其前缀为 tqs

package com.tqs.demo;

import lombok.Data;
import java.io.Serializable;
/**
 * @Auther: HP
 * @Date: 2019/6/15 08:39
 * @Description:
 */
@Data 
@Component
@ConfigurationProperties(prefix = "tqs")
public class UserModel implements Serializable {
    /**
     * 姓名
     */
    private String name;
    /**
     * 年龄
     */
    private Integer sex;
    /**
     * 手机号
     */
    private String phone;
}

在controller中将UserModel 注入进来,将接口地址改为 getUser2

@RestController
public class Hello {

    @Autowired
    private UserModel userModel;

    @RequestMapping("getUser2")
    public UserModel user(){
        return userModel;
    }
}

重启项目,访问http://localhost:8001/getUser2,效果如下,我们依然可以获取到配置中自定义的属性值
在这里插入图片描述


我们在controller中使用了@RestController注解,而不是之前的 @Controller,@RestController是组合注解,其中包括以下两个注解Controller 和 ResponseBody
@org.springframework.stereotype.Controller
@org.springframework.web.bind.annotation.ResponseBody
如果将类上的@RestController 改为@Controller ,浏览器端想要出入json格式的话,就需要再引入@ResponseBody

参照 蝈蝈的博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值