当前位置: 首页>前端>正文

springboot项目中通过@Value给参数附值失败

项目场景:

springboot项目中通过@Value给属性附值失败


问题描述

给参数赋值失败,打印为空值

@Value("${python.server.port}")
private  int port;
@Value("${python.server.host}")
private String host;
public PythonSocketClient(){
    System.out.println("Host: " + host);
    System.out.println("Port: " + port);

    connect();
}

springboot项目中通过@Value给参数附值失败,第1张

测试发现是成功注入的

@SpringBootTest
public class ValueTest {
    @Value("${python.server.host}")
    private String host;

    @Test
    public void testConfiguration() {
        System.out.println("Host configured as: " + host);
    }
}

 可以看到是正确赋值了

springboot项目中通过@Value给参数附值失败,第2张


原因分析:

也就是说还没附上值就运行了构造器


解决方案:

    @Value("${python.server.port}")
    private  int port;
    @Value("${python.server.host}")
    private String host;

    @PostConstruct
    public void init() {
        System.out.println("Host: " + host);
        System.out.println("Port: " + port);
        connect();
    }

再次运行

springboot项目中通过@Value给参数附值失败,第3张

 发现已经可以正常获取值了。


https://www.xamrdz.com/web/2qq1936588.html

相关文章: