欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot中@Value注解默认值使用及效果测试

程序员文章站 2022-08-17 23:04:08
SpringBoot中@Value注解默认值使用一、使用@Value注解的代码注意事项User.javaJunit测试UserTest.java测试结果一、使用@Value注解的代码注意事项(1)注解修饰的变量不能是final、static。(2)使用@Component修饰所在类交给spring管理。(3)使用时要用@Autowried注入,不能new对象。(4)${address-config:浙江省杭州市西湖区} address-config为配置文件属性名,如果配置文件没有配则使用默认...

一、使用@Value注解的代码

注意事项

(1)注解修饰的变量不能是final、static。
(2)使用@Component修饰所在类交给spring管理。
(3)使用时要用@Autowried注入,不能new对象。
(4)${address-config:浙江省杭州市西湖区} address-config为配置文件属性名,如果配置文件没有配则使用默认值,当前默认值为‘浙江省杭州市西湖区’。

注意使用的是${} 而不是 #{}

User.java

package com.oashiro.example.test;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class User{
    public String address;

    @Value("${address-config:浙江省杭州市西湖区}")
    public void steAddress(String address){
        this.address=address;
    }

    public String getAddress(){
        return this.address;
    }

    @Override
    public String toString() {
        return "User{" +
                "address='" + address + '\'' +
                '}';
    }
}

Junit测试

UserTest.java

package com.oashiro.example.test;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import static org.junit.jupiter.api.Assertions.*;

@SpringBootTest
class UserTest {

    @Autowired
    private User user;

    @BeforeEach
    public void setup(){
        System.out.println("开始测试1");
    }
    
	@AfterEach
    public void teardown(){
        System.out.println("测试结束1");
    }

    @Test
    public void printUser(){
        System.out.println(user);
        //预期结果(浙江省)与实际获取的默认结果(浙江省杭州市西湖区)作对比
        assertEquals("浙江省",user.getAddress());
    }
}

测试结果

SpringBoot中@Value注解默认值使用及效果测试

本文地址:https://blog.csdn.net/sh2328881234/article/details/110474951