嗨,我有一个自己的properties
文件,但是当我想在返回order
时获得0
值时,如何在自定义spring属性类中读取整数值>
@Component
@PropertySource("classpath:my.properties")
@ConfigurationProperties
public class MyProperties {
private Integer order;
my.properties
这样的文件
enableAll=true
order=1
myvalue=ABC
答案 0 :(得分:0)
我认为您可能缺少吸气剂和吸气剂。
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@PropertySource("classpath:my.properties")
@ConfigurationProperties
public class MyProperties {
private boolean enableAll;
private Integer order;
private String myvalue;
public boolean isEnableAll() {
return enableAll;
}
public void setEnableAll(boolean enableAll) {
this.enableAll = enableAll;
}
public Integer getOrder() {
return order;
}
public void setOrder(Integer order) {
this.order = order;
}
public String getMyvalue() {
return myvalue;
}
public void setMyvalue(String myvalue) {
this.myvalue = myvalue;
}
}
通过此设置,以下测试成功运行
import com.example.demo.gq.MyProperties;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class)
@SpringBootTest
public class MyPropertiesTests {
@Autowired
MyProperties myProperties;
@Test
public void myProps() {
assertThat(myProperties.getOrder()).isEqualTo(1);
assertThat(myProperties.isEnableAll()).isTrue();
assertThat(myProperties.getMyvalue()).isEqualTo("ABC");
}
}