Spring boot中使用属性配置设置功能参数

目录

1.使用背景

2.使用方式

(1)使用@value注解

(2)直接将配置文件中的内容注入到实体类中

3.总结


1.使用背景

在Spring boot项目中,常常通过配置文件来设置一些项目中要使用的一些内容,比如说要访问系统的url,一些系统中用到的参数,通过配置文件来定义的好处是一旦内容发生改变,不需要修改代码,只需要修改配置文件,重新启动服务即可。

2.使用方式

(1)使用@value注解

配置文件中定义了一些属性

student:
  studentId: 10
  studentName: 小李
  studentNo: 01
import org.springframework.beans.factory.annotation.Value;

    @Value("${student.studentId}")
    private Integer studentId;
    @Value("${student.studentName}")
    private String studentName;
    @Value("${student.studentNo}")
    private String studentNo;


    @Test
    public void test2(){
        System.out.println(studentId);
        System.out.println(studentName);
        System.out.println(studentNo);
    }

(2)直接将配置文件中的内容注入到实体类中

配置文件中定义了一些属性

student:
  studentId: 10
  studentName: 小李
  studentNo: 01

创建实体类来接受配置文件中的属性

package com.example.demo.domain;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @author linaibo
 * @version 1.0
 * Create by 2022/12/2 22:20
 */
@Data
@ConfigurationProperties(prefix = "student")
public class Student {
    //学生id
    private Integer studentId;
    //学生名称
    private String studentName;
    //学生No
    private String  studentNo;


}

启动类中追加自配配置的注解

@EnableConfigurationProperties(Student.class)

或者在启动类上可以不添加 @EnableConfigurationProperties(Student.class)注解,只需要在实体类上添加

package com.example.demo.domain;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @author linaibo
 * @version 1.0
 * Create by 2022/12/2 22:20
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "student")
public class Student {
    //学生id
    private Integer studentId;
    //学生名称
    private String studentName;
    //学生No
    private String  studentNo;


}

测试类中注入这个实体就可使用

    @Autowired
    private Student student;


    @Test
    public void test(){
        System.out.println(student.getStudentId());
        System.out.println(student.getStudentNo());
        System.out.println(student.getStudentName());
    }

3.总结

当配置文件中定义的属性过多,且具有共性的场合,推荐使用第二种方式,避免代码中出现过多的@value注解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值