Java 无法从属性文件中获取整数值

Java 无法从属性文件中获取整数值,java,spring,spring-boot,rabbitmq,Java,Spring,Spring Boot,Rabbitmq,我想从application.properties文件中定义的键中读取整数值。这是我的属性文件 spring.rabbitmq.port=31111 代码如下: public Object getPortProperty() { Properties properties = new Properties(); try { File file = ResourceUtils.getFile("classpath:application.properties");

我想从application.properties文件中定义的键中读取整数值。这是我的属性文件

spring.rabbitmq.port=31111

代码如下:

public Object getPortProperty() {
    Properties properties = new Properties();
    try {
        File file = ResourceUtils.getFile("classpath:application.properties");
        InputStream in = new FileInputStream(file);
        properties.load(in);
    } catch (IOException e) {

    }
    return (Integer) properties.get("spring.rabbitmq.port");

}

@Autowired
public UnitAmqpRestController(RabbitTemplate rabbitTemplate) throws IOException, TimeoutException {
    this.rabbitTemplate = rabbitTemplate;
    rabbitTemplate.setReplyTimeout(15_000L);
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(getHostProperty());
    factory.setPort((Integer) getPortProperty());
    connection = factory.newConnection();
    channel = connection.createChannel();
}
获取以下错误:

org.springframework.beans.factory.BeanCreationException:错误 正在创建URL中定义了名称为“unitAmqpRestController”的bean [jar:file:/tmp/unitamqpservice-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/com/abc/ci/unitamqpservice/UnitAmqpRestController.class]: 通过构造函数实例化Bean失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:未能 实例化 [com.abc.ci.unitamqpservice.UnitAmqpRestController$$EnhancerBySpringCGLIB$$e7ff3f42]: 构造函数抛出异常;嵌套异常是 java.lang.NullPointerException 位于org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:279) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:761) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867) ~[spring-context-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) ~[spring-context-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.10.RELEASE.jar!/:1.5.10.RELEASE] 位于org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.10.RELEASE.jar!/:1.5.10.RELEASE] 位于org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.10.RELEASE.jar!/:1.5.10.RELEASE] 位于org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.10.RELEASE.jar!/:1.5.10.RELEASE] 位于org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.10.RELEASE.jar!/:1.5.10.RELEASE] 位于org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.10.RELEASE.jar!/:1.5.10.RELEASE] 位于com.abc.ci.unitamqpservice.UnitamqpserviceApplication.main(UnitamqpserviceApplication.java:10) [类别!/:0.0.1-快照] 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:1.8.0_212] 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_212] 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 ~[na:1.8.0_212] 在java.lang.reflect.Method.invoke(Method.java:498)~[na:1.8.0_212] 位于org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [unitamqpservice-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] 位于org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [unitamqpservice-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] 位于org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [unitamqpservice-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] 位于org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) [unitamqpservice-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]由以下原因引起: org.springframework.beans.BeanInstantiationException:未能 实例化 [com..ci.unitamqpservice.UnitAmqpRestController$$EnhancerBySpringCGLIB$$e7ff3f42]: 构造函数抛出异常;嵌套异常是 java.lang.NullPointerException 位于org.springframework.beans.BeanUtils.InstanceClass(BeanUtils.java:154) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.beans.factory.support.SimpleInstallationStrategy.instantiate(SimpleInstallationStrategy.java:122) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] 位于org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:271) ~[spring-beans-4.3.14.RELEASE.jar!/:4.3.14.RELEASE] ... 26由于以下原因而忽略的公共帧:java.lang.NullPointerException:null 在com.abc.ci.unitamqpse
factory.setPort((Integer) getPortProperty());
@Value("${spring.rabbitmq.port}")
private int mqPort;

@Value("${spring.rabbitmq.host}")
private String mqHost;

@Autowired
public UnitAmqpRestController(RabbitTemplate rabbitTemplate) throws IOException, TimeoutException {
    this.rabbitTemplate = rabbitTemplate;
    rabbitTemplate.setReplyTimeout(15_000L);
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(mqHost);
    factory.setPort(mqPort);
    connection = factory.newConnection();
    channel = connection.createChannel();
}
@Value("${spring.rabbitmq.port=31111}")
private int port;
private int getIntegerProperty(final String key, final int defaultValue) {
    final Object object = properties.get("spring.rabbitmq.port")
    if (object == null || "".equals(object.toString())) {
        return defaultValue;
    } else {
        return Integer.parseInt(object );
    }
}